您的位置:首页 > 编程语言 > Java开发

JAVA的extends用法

2016-01-18 15:36 435 查看
理解继承是理解面向对象程序设计的关键。在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。在Java中不允许多继承。

(1)继承

[java] view
plaincopy





class Animal{  

    void eat(){  

        System.out.println("Animal eat");  

    }  

    void sleep(){  

        System.out.println("Animal sleep");  

    }  

    void breathe(){  

        System.out.println("Animal breathe");  

    }  

}  

  

class Fish extends Animal{  

}  

  

public class TestNew {  

    public static void main(String[] args) {  

        // TODO Auto-generated method stub  

        Animal an = new Animal();  

        Fish fn = new Fish();  

          

        an.breathe();  

        fn.breathe();  

    }  

}  

在eclipse执行得:

Animal breathe! 

Animal breathe! 

.java文件中的每个类都会在文件夹bin下生成一个对应的.class文件。执行结果说明派生类继承了父类的所有方法。

(2)覆盖

[java] view
plaincopy





class Animal{  

    void eat(){  

        System.out.println("Animal eat");  

    }  

    void sleep(){  

        System.out.println("Animal sleep");  

    }  

    void breathe(){  

        System.out.println("Animal breathe");  

    }  

}  

  

class Fish extends Animal{  

    void breathe(){  

        System.out.println("Fish breathe");  

    }  

}  

  

public class TestNew {  

    public static void main(String[] args) {  

        // TODO Auto-generated method stub  

        Animal an = new Animal();  

        Fish fn = new Fish();  

          

        an.breathe();  

        fn.breathe();  

    }  

}  

执行结果:

Animal breathe

Fish breathe

在子类中定义一个与父类同名,返回类型,参数类型均相同的一个方法,称为方法的覆盖。方法的覆盖发生在子类与父类之间。另外,可用super提供对父类的访问。

 

参考原文:http://tieba.baidu.com/f?kz=295170500

参考原文:http://zhidao.baidu.com/question/25517733.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: