class Animal{ //先定义一个父类
String name;
void shout(){
System.out.println("Animal's Sound");
}
}
class Dog extends Animal{ //定义个新类Dog,使用extends关键字,使Dog继续Animal父类,Dog则为Animal的子类
public void printName(){
System.out.println("name="+name);
}
}
class ProDog extends Dog{ //继续定义一个类继承Animal的子类Dog
void shout(){
System.out.println("Wang Wang Wang……"); //重写了原Animal(爷爷)类的shout方法,支持重写,方法名要一样
}
public void printName(){ //重写了原Dog(父类)的方法
System.out.println("name=="+name);
}
public void flyDog(){ //也可以自由自在的想干嘛干嘛
System.out.println("I'm Fly!");
}
}
public class Example13{
public static void main(String[] args){
Dog dog =new Dog(); //将Dog子类实例化
ProDog Pdog=new ProDog();//实例化子类的子类
dog.name="二哈";//dog可以调用Dog本类中的方法并进行赋值
dog.printName();
dog.shout();//dog也可以调用其父类Animal中的方法
Pdog.name="聪明的二哈"; //给子类的子类变量赋值
Pdog.printName();//调用子类的子类的方法
Pdog.shout();
Pdog.flyDog();
}
}
/**1.只能有一个直接类,子类不能同时继承A父类和B父类。2. 多个类可以都继承同一个类,比如B类和C类,都继承A类。
3.类可以有子,也可以有孙,可以多层继承。比如C继承B,而B又继承A*/