继承
基本语法
-
关键字:extends
-
特点:单继承,每一个子类只能有一个父类。但可以多层继承,也就是
子父爷
关系。 -
权限修饰符:private、default、protected、public
-
父子继承后,访问成员原则:就近原则。
this&super关键字
1)成员变量
-
this:引用
当前类
的成员变量。例如:this.变量名 -
super:引用
当前类父类
的成员变量。例如:super.变量名
面向对象编程三大特征
继承、封装和多态。
继承快速入门
继承执行原理
继承的好处
关于继承的好处我们只需要记住:继承可以提高代码的复用性
权限修饰符
单继承、Object
Java语言只支持单继承,不支持多继承,但是可以多层继承。就像家族里儿子、爸爸和爷爷的关系一样:一个儿子只能有一个爸爸,不能有多个爸爸,但是爸爸也是有爸爸的。
方法重写
代码示例:
写一个A类作为父类,定义两个方法print1和print2
public class A {
public void print1(){
System.out.println("111");
}
public void print2(int a, int b){
System.out.println("111111");
}
}
再写一个B类作为A类的子类,重写print1和print2方法。
public class B extends A{
// 方法重写
@Override // 安全,可读性好
public void print1(){
System.out.println("666");
}
// 方法重写
@Override
public void print2(int a, int b){
System.out.println("666666");
}
}
接下来,在测试类中创建B类对象,调用方法
public class Test {
public static void main(String[] args) {
// 目标:认识方法重写,掌握方法重写的常见应用场景。
B b = new B();
b.print1();
b.print2(2, 3);
}
}
方法重写的注意事项:
1.重写的方法上面,可以加一个注解@Override,用于标注这个方法是复写的父类方法
2.子类复写父类方法时,访问权限必须大于或者等于父类方法的权限
public > protected > 缺省
3. 重写的方法返回值类型,必须与被重写的方法返回值类型一样,或者范围更小
4. 私有方法、静态方法不能被重写,如果重写会报错。
总结起来就8个字:声明不变,重新实现
子类中访问成员的特点
原则:在子类中访问其他成员(成员变量、成员方法),是依据就近原则的
子类中访问构造器的特点
this和super的用法
访问本类成员:
this.成员变量 //访问本类成员变量
this.成员方法 //调用本类成员方法
this() //调用本类空参数构造器
this(参数) //调用本类有参数构造器
访问父类成员:
super.成员变量 //访问父类成员变量
super.成员方法 //调用父类成员方法
super() //调用父类空参数构造器
super(参数) //调用父类有参数构造器
注意:this和super访问构造方法,只能用到构造方法的第一句,否则会报错。