回顾练习一下java继承
父类 仅仅声明了有参构造函数,没有自己声明无参构造函数,则子类必须重写 父类构造函数
public class Animal{
public String name;
private int id;
public Animal(){
System.out.println("父类");
}
public Animal(String myname,int myid){
name=myname;
id =myid;
}
public void eat(){
System.out.println("我能吃");
}
public void run(){
System.out.println("父类我能跑");
}
public void introduce(String w){
System.out.println("my name is "+name+ String.format(",my id is %d", id));
}
// public static void main(String[] args) {
// Animal A=new Animal("老鼠",1);
// A.introduce();
// }
}
class Mouse extends Animal{
public Mouse(){
System.out.println("子类");
}
public void run(){
System.out.println("子类跑方法");
}
public void runtest(){
super.run();
this.run();
}
public Mouse(String myname,int myid){
super(myname,myid);
}
public void introduce(){
System.out.println( super.name);
}
public static void main(String[] args) {
String w="";
Mouse a=new Mouse("老鼠",2);
a.introduce();//子类无参introduce
a.introduce(w);//继承了父类有参的introduce
a.runtest();//子类覆盖父类方法
new Mouse();//无参方法优先调用
}
}
运行结果: