详解Java中使用externds关键字继承类的用法

理解继承是理解面向对象程序设计的关键。在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提供对父类的访问。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。