1.面向对象最重要的特点之一,就是可以实现对类的复用。
2.通过“继承”一个现有的类,可以使用已经定义的类中的方法和变量。
3.类的方法和属性可以被继承,但是类的构造器不能被继承。
4.在Java中,一个类只能继承继承一个父类,这种方式叫做单继承。这一点和C++不一样。
5.java.lang.Object类是所有类的父类
虽然一个类只可以继承一个父类,但是一个父类却可以被多个子类所继承。
从子类的角度看,它是“继承(extends)”父类;而从父类的角度看,它是“派生(derive)”子类。它们指的都是同一个动作,只是角度不同而已。
6.类继承的基本语法:
<modifier> class <name> [extends <superclass> ]
{
<declaration> *
}
例子:
新建一个Inherite.java文件,输入:
/**
* @(#)Inherite.java
*
*
* @author LiuJie
* @version 1.00 2007/4/12
*/
class Animal {
int eye = 2;
int leg = 4;
public void eat(){
System.out.println ("eating...");
}
public void run(){
System.out.println ("running...");
}
}
class Bird extends Animal{
public void fly(){
System.out.println ("flying......");
}
}
public class Inherite{
public static void main (String[] args) {
Animal anim = new Animal();
System.out.println (anim.eye);
System.out.println (anim.leg);
anim.eat();
anim.run();
System.out.println ("***********************");
Bird bird1 = new Bird();
System.out.println (bird1.eye);
System.out.println (bird1.leg);
bird1.eat();
bird1.fly();
}
}
在Bird类中并没有定义eye属性但是因为他继承了Animal类,所以可以直接输出System.out.println (bird1.eye);
也可以重新给leg属性赋值,Animal类中的方法可以直接调用。
注意,在一个java文件中,入口函数所在的类(也就是main()方法所在的类)的名称必须与java文件名相同。一个java文件可以有很多类,但是public类最多只能有一个。如上面例子,如果定义public class Animal {}就会编译出错误。public必须在Inherite类中声明,也可以不加public直接写class Inherite,此时默认的为defaule。