Java基础第9讲--面向对象之继承
程序员文章站
2022-05-28 13:35:42
...
1、生活中的继承有哪些?
继承,就是儿子继承父亲,父亲有的儿子也有,儿子有的父亲却可能没有。
1.1、什么是继承?
Java中使用extends关键字实现类的加载机制称之为继承,子类自动拥有了基类(也叫父类,superclass)的所有成员,即成员变量和成员方法
1.2、继承的好处是什么?
引入继承可以减少重复的代码量,提高代码和开发效率
1.3、继承中的成员访问限制是什么?
如果父类中变量定义成了private私有变量,则在子类中是不可以调用的,其只能在父类的方法中调用,子类和其他类都不可以。
1.4、Ps
- Java只支持单继承,不支持多继承,即:一个子类只能有一个基类(父类),但是一个基类可以有多个子类
- 子类对象包含父类对象
- 静态方法是不可以继承的
1.5、示例:自行车和公路赛
自行车类
public class Bike {
public int wheels = 2; //*数量
public void run(){
System.out.println("自行车都能跑");
}
}
变速自行车类
public class RaceBike extends Bike {
public int gear = 2; // 齿轮个数
public void speedUp() {
System.out.println("变速自行车可以加速");
}
public void speedDown() {
System.out.println("变速自行车可以减速");
}
}
测试类
public class Test {
public static void main(String[] args) {
RaceBike bike = new RaceBike();
int wheels = bike.wheels; //获取父类的成员变量wheels
int gears = bike.gear;
System.out.println("变速车的*数量是:" + wheels);
System.out.println("变速车的齿轮数是:" + gears);
bike.run(); //调用父类的跑的方法
bike.speedUp();
bike.speedDown();
}
}
运行结果:
2、Super关键字
Super关键字,可以用来子类调用父类的成员用,它包括调用父类的public、protected修饰的变量方法。
2.1、使用Super关键字的注意事项
- 调用父类的方法:super.父类的方法
- 同时super也可以调用父类的构造方法,但是父类中构造方法用private修饰时,不能有子类去继承
- 子类可以没有构造方法,他会自动调用父类的构造方法
- 在子类中可以调用父类的构造方法,super必须放在子类构造方法的首句