详解Java中使用externds关键字继承类的用法
程序员文章站
2024-03-12 21:58:56
理解继承是理解面向对象程序设计的关键。在java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。在java中不允许...
理解继承是理解面向对象程序设计的关键。在java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。在java中不允许多继承。
(1)继承
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)覆盖
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提供对父类的访问。