extends就是继承。
首先要说的是,java不支持多继承,C++支持多继承。
继承就是子类可以继承父类中的属性和方法,子类可以有自己的属性和方法。
如何抽象父类? 就是对子类的属性和方法提取共同的部分。
继承有两个好处:1.重复利用代码。2.容易维护。
super是父类的意思,用来访问父类同名属性。
访问父类同名属性的时候是就近原则,如果你想继续访问就得用到super(例如super.a),就是父类同名属性中的a属性。
父类同名属性是指父类与子类中的中的属性名相同。
this是当前类对象的意思。
下面写一个有关继承的代码:
先创建一个Animal类,里面有两个属性和两个方法。
class Animal{
String name;
void eat(){
System.out.println(name+"吃饭");
}
void jiao(){
System.out.println(name+"叫");
}
}
再创建一个Cat类,继承到Animal类中。
class Cat extends Animal{
}
又创建了有个Dog类,也继承到Animal类中,不过Dog类中多了一个自己的方法,叫看门方法。
class Dog extends Animal{
void kanMen(){
System.out.println(name+"看门");
}
}
最后写一个测试方法,在方法中创建Cat和Dog对象,然后赋值调用。
class TestDemo1{
public static void main(String[] args){
// 继承将父类所有的属性和方法都获得
Cat c=new Cat();
c.name="猫";
c.eat();
Dog d=new Dog();
d.name="狗";
d.kanMen();
}
}