//父类
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()方法,也称为虚方法
//在多态中,子类可以调用父类中的所有方法
//在多态中,子类重写了父类的方法,那么调用的就是子类重写后的方法
//在多态中,不能调用子类单独拥有的方法.