继承详细介绍
来源:互联网 发布:360 卫士 for mac 编辑:程序博客网 时间:2024/06/02 05:55
1. 继承具有以下特点:
1)继承具有层次结构,并具有传递性
2)子类继承了父类的属性和方法(不包含构造方法),同时也可以拥有自己的方法。
注意:java只支持单继承,即一个子类只能有一个超类(父类),但一个父类可以派生出多个子类,如同在现实生活中,一个儿子只能有一个父类,
但一个父类可以有多个儿子。
2. 在使用继承时注意以下事项:
1)除非父类在开发中,否则不应该修改父类
2)子类构造方法要负责调用适当的父类构造方法,不管是以显示还是隐式的方法
3)父类的字段必须比子类的字段先初始化
4. 不能被继承的父类成员
private成员、子类与父类不在同包中、使用默认访问权限的成员、构造方法
5. 访问修饰符:
访问修饰符 本类 同包 子类 父类
private *
friebdly(默认) * *
protected * * *
public * * * *
6. 多重继承关系的初始化顺序是:
父类属性——父类构造方法——子类属性——子类构造方法
7. 方法重写与方法重载
位置 方法名 参数表 返回值 访问修饰符
方法重写 子类 相同 相同 相同或是其子类 不能比父类更严格
方法重载 父类 相同 不同 无关 无关
8. 继承的优点:
1)可以创建更为特殊的类型
2)消除重复代码
3)利于维护
9. super关键字
super关键字是指对象的引用,只不过它是指向父类对象的引用
10. super关键字的规则为:
若要在子类构造方法中调用超类构造方法,则在子类构造方法中的第一条语句要用super关键字来调用:
1)调用父类构造方法的语法为:
super();//或super(参数列表); 必须是第一句
2)调用父类的普通方法的语法为:
super.methodname(); //或super.methodname(参数列表);
super.methodname()是假设这个方法是其父类型时所调用的对应方法,但需要强调的是:这个方法不一定在父类中被定义,
它可能是从层次结构上更上层的类中继续来的。
11. super关键字来访问父类的成员,需要注意:
1)super只能出现在子类的方法和构造方法中;
2)super调用构造方法时,只能在第一句;
3)super不能访问父类的private成员
12. 当父类不需要被实例化时,可以把父类方法声明为抽象方法:
public abstract calss 类名{};
- 继承详细介绍
- js call方法详细介绍(js 的继承)
- 虚继承与虚基类的本质(介绍的非常详细)
- 虚继承与虚基类的本质(介绍的非常详细)
- 虚继承与虚基类的本质(介绍的非常详细)
- c++ 继承(详细)
- Java继承详细讲解
- java继承[详细]
- C++继承[详细]
- javascript 原型继承介绍
- 内存介绍 - 继承
- 简单介绍虚拟继承
- 详细解释javascript继承原理
- [C++编程] -- 继承详细解析
- IOS GCD 介绍详细介绍
- squid详细介绍1
- Squid 详细介绍2
- css3的详细介绍
- Ubuntu软件卸载
- Androidk开发的那些坑之-------------------AndroidManifest.xml里面meta-data 的value定义
- 分块大法
- 视频h.264 解码出YUV分量代码实现
- Blend详解
- 继承详细介绍
- 根据屏幕大小来创建布局
- 解决Too many open files问题
- openstack plugin 之(八)怎样修改 Openstack Horizon(Dashboard)的显示界面
- 博客开通
- iOS开发学习笔记之UIButton的使用
- ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
- Struts2的模型驱动(ModelDriven)
- BZOJ 3190 [JLOI2013] 赛车