子类和父类方法
简单研究一下子类和父类的方法。
class Animal
{
public void eat()
{
System.out.println("父类吃");
}
public void drink()
{
System.out.println("父类 特有方法");
}
}
class Cat extends Animal
{
public void eat()
{
System.out.println("子类吃");
}
public void catchmouse()
{
System.out.println("抓老鼠");
}
}
public class D1Test {
public static void main(String[] args) {
Animal a = new Cat();
a.eat();
a.drink();
// a.catchmouse(); Error:(33, 10) java: 找不到符号
// 符号: 方法 catchmouse()
// 位置: 类型为Animal的变量 a
Cat c =(Cat) a;
c.catchmouse();
c.drink();
c.eat();
}
}
运行结果:
子类吃
父类 特有方法
抓老鼠
父类 特有方法
子类吃
总结:
父类向上转型后,可以使用父类的方法,父子类同名方法调用子类方法。
父类向下转型后,可以使用子类和父类的所有方法,父子类同名方法调用子类方法。