概述
什么是继承extends?:
继承是一种机制,通过继承机制,子类可以使用父类中属性和方法
父类----子类 一般 —特殊
父类:子类的共性抽象出来
子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法。
如果子类能够访问父类的d属性和方法,即是子类从父类中继承的属性和方法
(哪些属性和方法能被继承取决于子类能否突破父类的边界)
子类能够继承父类哪些内容???
构造方法不可被继承
原因:i.构造方法名必须和类名保持一致
ii. 子类中的内容要比父类中要多,构造过程相对父类较复杂,
需要子类有自己的构造方法
属性和方法能否被继承,取决于访问修饰符
本类 同包子类 非同包子类 其他
private(私有的) √ × × ×
default(默认的) √ √ × ×
protected(受保护的) √ √ √ ×
public(公开的) √ √ √ √
从严到宽
i.所有的访问修饰符都可以修饰方法、构造方法、属性
只有 default、public 能够修饰类
ii.继承性:
- Private 私有的,本类内部 子类不能继承
- Default 本类内部+同包 可以访问 同包子类可以继承
- Protected 受保护的 本类内部+同包+不同包子类 子类可以继承
- Public 公开的 不受边界约束 子类可以继承
继承关系下的对象创建过程:
①在继承关系下,去构建子类对象,会先去构建父类对象
②i.分配空间(父类+子类)
ii.构建父类对象(初始化父类属性+调用父类构造方法)
iii.初始化子类属性
iv.调用子类构造方法
下面用一个程序来详细解释一下继承的使用:
class TestExtend{
public static void main(String[] args) {
Dog dog = new Dog();
//dog类里面并没有eat()和sleep()方法,所以dog对象调用的是父类的吃和睡觉方法;
dog.eat();
dog.sleep();
}
}
class Animal{
public void eat(){
System.out.println("吃吃吃");
}
public void sleep(){
System.out.println("睡觉,睡10个小时");
}
}
class Dog extends Animal{
//这里不定义任何方法,
}
Java中 的单继承:
java中是单继承
但是是多级继承,属性和方法可以进行逐级叠加
一个类最多只能有一个直接父类;extends 只能放一个类的类名;
提现了java的简单性: 即类之间会行成简单的树状结构
最后
以上就是糊涂毛豆为你收集整理的简述java中继承的概念,单继承,访问修饰符的访问权限的全部内容,希望文章能够帮你解决简述java中继承的概念,单继承,访问修饰符的访问权限所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复