1.类的继承

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。
原文地址:https://www.cnblogs.com/as1234as/p/5142136.html