继承 子类对父类方法的覆盖 构造方法的继承 super
2015-09-06 21:18
405 查看
方法的名称参数必须完全相同
只满足名称相同,就不是覆盖是重载
原则上如果覆盖成功,那么使用子类对象时,方法的所有属性都以覆盖后的为准
修饰符完全相同的覆盖
子类oa.a 调用的是子类的a的方法
1子类的方法的访问权限可以与父类的不相同,但只允许权限更宽松,而不允许更严格
2返回值的数据类型不相同的情况
是不行的 错误的 编译错误
3final修饰符的不同
若父类方法是final 子类是不能覆盖的 但父类不是final 子类可以是final
4不允许父类和子类方法的static修饰符发生变化
构造方法的继承机制
即使子类没有写调用父类的无参构造方法 ,子类也会自动调用
不会自动调用无参构造方法
super
super的一般用法
super.变量名
super.方法名
super.(参数列表)
注意super只能在子类中用于调用父类的成员或构造方法
1super可以引用父类的成员
2super引用被覆盖的父类方法
子类中 showMsg()调用本类的方法
super.showMsg()调用父类的方法
使用super调用父类的构造方法
1它只能用在构造方法中
2它只能是第一条执行语句
3一个构造方法中只能有一条super语句
public class A extends B{
public A(){
super(100); 调用父类带参数的构造方法
}
}
一旦显示地使用super来调用父类的构造方法,系统就不会再自动调用父类无参数的构造方法
只满足名称相同,就不是覆盖是重载
原则上如果覆盖成功,那么使用子类对象时,方法的所有属性都以覆盖后的为准
修饰符完全相同的覆盖
子类oa.a 调用的是子类的a的方法
1子类的方法的访问权限可以与父类的不相同,但只允许权限更宽松,而不允许更严格
2返回值的数据类型不相同的情况
是不行的 错误的 编译错误
3final修饰符的不同
若父类方法是final 子类是不能覆盖的 但父类不是final 子类可以是final
4不允许父类和子类方法的static修饰符发生变化
构造方法的继承机制
即使子类没有写调用父类的无参构造方法 ,子类也会自动调用
不会自动调用无参构造方法
super
super的一般用法
super.变量名
super.方法名
super.(参数列表)
注意super只能在子类中用于调用父类的成员或构造方法
1super可以引用父类的成员
2super引用被覆盖的父类方法
子类中 showMsg()调用本类的方法
super.showMsg()调用父类的方法
使用super调用父类的构造方法
1它只能用在构造方法中
2它只能是第一条执行语句
3一个构造方法中只能有一条super语句
public class A extends B{
public A(){
super(100); 调用父类带参数的构造方法
}
}
一旦显示地使用super来调用父类的构造方法,系统就不会再自动调用父类无参数的构造方法
相关文章推荐
- base64原理解析
- Activemq 启动错误 我的解决办法
- HDU 1405 The Last Practice(求质因子及其个数 )
- Tomcat源码iOS
- LeetCode 83 - Remove Duplicates from Sorted List
- 输出随机数字验证码图片
- File类的用法
- 数据结构基础 希尔排序 之 算法复杂度浅析
- 作业
- 开发人员看测试之运行Github中的JBehave项目
- 线性结构(二) - 栈的原理与实现
- Postgresql9.4.4 Install&Configure
- POJ1003 水题不解释
- 国内手机市场遇冷 寒流杀向供应商
- 漫谈C指针第九讲---参数的值传递
- C++基础---回调函数
- 数据结构与算法
- 取消svn版本控制
- Android——LinearLayout使用
- Android5.0新控件RecyclerVIew的介绍和兼容使用的方法