1、理解继承是理解面向对象程序设计的关键。
2、在java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类或基类),
新的类称为子类(派生类)。
3、在java中,不允许多继承。
4、在子类中定义一个与父类同名、返回类型、参数类型均相同的一个方法,称为方法的覆盖。
5、覆盖发生在子类与父类之间。
6、构造方法是不能被继承的。
public class Fish extends Animal
{
public Fish()
{
Animal();//错误
super();//正确
System.out.println("Fish()");
}
}
7、通过覆盖父类的方法来实现,在运行时根据传递的对象引用,来调用相应的方法。
public class Animal
{
public void eat()
{
System.out.println("Animal eat()");
}
}
public class Fish extends Animal
{
public void eat()
{
System.out.println("Fish eat()");
}
}
public class Test
{
public static void main(String args[])
{
Fish fish = new Fish();
Animal an = null;
an = fish;
eat(an);//结果为Fish eat();//传递时的引用对象为Fish类型,所以调用的是Fish类的eat()方法。
}
public static void eat(Animal an)
{
an.eat();
System.out.println("Test eat()");
}
}