1.java不支持多继承,但是可以支持多层继承。
2.子类和父类里面有同名的变量,就近原则进行赋值(this super)
3.(前提:不重名)通过this访问当前类里面的成员;通过super访问父类里面的成员。
可以通过super访问父类里面的变量、方法和构造方法。
1.java不支持多继承,但是可以支持多层继承。
2.子类和父类里面有同名的变量,就近原则进行赋值(this super)
3.(前提:不重名)通过this访问当前类里面的成员;通过super访问父类里面的成员。
可以通过super访问父类里面的变量、方法和构造方法。
父类的构造方法必须要放在构造方法的第一个
优点:1减少代码量2代码变得简洁3代码更加容易维护变得
单继承,不是多继承(很好)
就近原则(同名时):
控制 this.name,super.name
继承
继承需要注意的事项
1.子类继承父类的成员方法和成员变量
但是不支持访问私有方法和私有变量
2.继承支持多层继承,但是不支持多继承。
一个子类只有一个父类
继承优点
代码变的更简洁,代码量更少。
Java 不支持多继承
C++可以支持多继承
父类引用指向子类对象时:
1、若子类覆盖了某方法,则父类引用调用子类重新定义的新方法
2.若子类未覆盖某方法,则父类引用调用旧方法
3.若子类覆盖了某属性,则父类引用调用旧属性
4.若子类未覆盖某属性,则父类引用调用旧属性
5.父类引用无法调用,子类新定义的属性和方法,编译会报错
1、若子类覆盖了某方法,则子类引用调用子类重新定义的新方法
2、若子类未覆盖某方法,则子类引用调用父类本身的旧方法
3、若子类覆盖了某属性,则子类引用调用子类重新定义的新属性
4、若子类未覆盖某属性,则子类引用调用父类本身的旧属性
5、子类引用可以访问子类新定义的方法
this当前类
super父类
通过this访问当前类里面的成员,通过super访问父类里面的成员
各类参数的访问:
1.方法传进来的参数,直接用变量名访问
2.当前类的成员访问,用this.访问
3.父类成员的访问,用super.访问
super 不仅可以用来调用父类的构造方法,
还可以用来访问父类的成员变量。