继承
-
继承是指使用extends关键字,使一个类A继承自另外一个类B,这时类A称作子类/派生类,类B称作父类/基类/超类。
-
继承的好处:子类会继承父类的所有public的字段和方法,以实现代码的复用。
继承的基本语法:
class 子类 extends 父类 {
}
注意:
-
Java中一个子类只能继承一个父类
-
父类中被private修饰的字段和方法,在子类中是无法被访问的
-
子类的实例中也包含着父类的实例,可以使用super关键字来引用父类实例
super关键字
super代表父类对象的引用
-
super() 调用父类的构造方法
-
super.data; 调用父类的成员属性
-
super.func(); 调用父类的成员方法
如:
class Animal {
public String name;
public int age;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println(this.name + "eat");
}
}
//类Dog继承了类Animal
class Dog extends Animal{
public Dog(String name) {
super(name);//调用父类的构造方法来构造父类对象
}
public void bark() {
System.out.println(super.age);
super.eat();
System.out.println(this.name + "wangwang");
}
}
//类Bird继承类Animal
class Bird extends Animal{
public Bird(String name) {
super(name);//调用父类的构造方法
}
public void fly() {
System.out.println(this.name + "fly");
}
}
protected关键字
被protected修饰的类可以在类的内部、同一个包中的不同类和不同包但继承了这个类的子类中进行访问。
final关键字
-
final可以修饰字段,称为常量,后续不可更改:final int a = 10;
-
final可以修饰类,称为密封类,这个类不能被继承:final class A { }
-
final可以修饰方法,称为密封方法,这个方法不能被重写