标签:style blog color io 使用 java ar div sp
1 class Super{ 2 public Super(){ 3 System.out.println("我是父类super"); 4 } 5 } 6 class Sub extends Super{ 7 public Sub(){ 8 System.out.println("我是子类sub"); 9 } 10 } 11 public class InstanceDemo { 12 public static void main(String[] args) { 13 new Sub(); 14 /** 15 * 我是父类super 16 * 我是子类sub 17 * 18 * 先打印的是父类里面的在打印的子类里面 19 * 从这个可以看出是先调用父类的构造方法创建父类对象再来调用子类里面的构造方法 20 * 21 */ 22 } 23 }
|
区别点
|
重载(overload) |
重写(override)
|
1
|
判断规则
|
参数列表顺序不同、类型不同、个数不同都可以构成重载
同类中方法名相同,但是方法的参数列表不同,与方法的返回值类型和修饰符无关
|
方法签名(方法名+参数列表)必须相同
子类方法的返回值类型比父类方法的返回值类型更小或相等
子类方法声明抛出的异常应比父类方法申明跑出异常更小或相等
子类方法的访问权限应比父类方法更大或相等
|
2
|
权限 |
无权限要求
|
被重写的方法不能拥有比父类更严格的权限
|
3
|
范围
|
发生在一个类中
|
发生在继承关系中
|
4 |
多态
|
编译时多态
|
运行时多态
|
|
区 别
|
this
|
super
|
1
|
使 用
|
调用本类中的字段或方法
|
从子类调用调用父类的字段或方法
|
2
|
构 造
|
可以调用本类中的构造方法,且有一个构造方法要作为出口
|
从子类调用父类的构造方法,不管子类如何安排最终一定会去调用,默认调用的父类中无参的构造方法
|
3
|
要 求
|
调用自身构造方法时放在构造方法首行
|
调用父类构造方法时放在子类构造方法首行
|
4
|
特 殊
|
表示当前对象
|
表示父类对象
|
面向对象三大特征之继承(extends)——Java笔记(六)
标签:style blog color io 使用 java ar div sp
原文地址:http://www.cnblogs.com/Essence/p/3967426.html