//父类fish,子类haimian,非常简单易懂地调用其中的方法
//多个子类就构成了多态
public class ExtendDemo1 {
public static void main(String[] args){
haimian baobao=new haimian(12,'男',"海绵",56,"12班");
baobao.eat();
baobao.test();
//通过父类对象新建一个子类对象,这个对象只能使用父类中的方法,除非进行强制转换或者子类中的方法与父类中的方法同名,则会使用子类中的方法。
/*
* 1、直接使用父类中的方法
*/
// fish in=null;
// in = new haimian(12,'男',"海绵",56,"12班");
// in.eat();
/*
* 2、强制转化成haimian类,这里注意创建对象时只能是父类在前,子类在后/或者同种类型,不能用子类来创建父类
*/
fish in=new haimian(12,'男',"海绵",56,"12班");
((haimian)in).Eat();
}
}
class fish{
private int id;
private char gender;
public String name;
public fish(){}
public fish(int id, char gender, String name) {this.id=id;this.gender=gender;this.name=name;}
public void eat(){
System.out.println("吃鱼食");
System.out.println(name+"好啊");
}
public int getid(){return id;}
public char getgender(){return gender;}
public String getname(){return name;}
}
class haimian extends fish{
private int classid;
private String className;
public void init(int classid,String className){
this.classid=classid;this.className=className;
}
public haimian(int id,char gender,String name,int classid,String className){
super(id,gender,name);
init(classid, className);
}
public void test(){
System.out.println(super.name);
}
public void Eat(){
System.out.println(getid()+"-"+getgender()+getname()+classid+className);
}
}