//父類
class person
{
//聲明變量
public string name;
public int age;
//建立方法
public void setname(string name)
{
this.name = name;
}
public void setage(int age)
this.age = age;
public void show()
system.out.println("name:"+name+", age:"+age);
}
//子類
class student extends person
public string school;
public void setschool(string school)
this.school = school;
//重寫父類方法override
system.out.println("name:"+name+", age:"+age+", school:"+school);
public class test2
public static void main(string[] args)
//初始化父類,并調用父類方法
person p = new person();
p.setname("person");
p.setage(25);
p.show();
//初始化子類,并調用父類和子類的方法
student s1 = new student();
s1.setname("student");
s1.setage(18);
s1.setschool("zzia");
s1.show();
//利用多态,初始化一個類型為person的student類,
person s2 = new student();
s2.setname("which");//可以調用父類的方法
s2.setage(15); //可以調用父類的方法
//s2.setschool("shanghai"); //不能調用子類獨有的方法,編譯不能通過
s2.show(); //調用的是子類中重寫父類後的show()方法,也稱為虛方法
//在多态中,子類可以調用父類中的所有方法
//在多态中,子類重寫了父類的方法,那麼調用的就是子類重寫後的方法
//在多态中,不能調用子類單獨擁有的方法.