Java基础之extends用法详解及简单实例

时间:2022-08-24 20:20:40

 Java extends用法详解

概要:

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

(1)继承

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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执行得:

?
1
2
Animal breathe!
Animal breathe!

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

(2)覆盖

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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();
  }
}

执行结果:

?
1
2
Animal breathe
Fish breathe

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

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/qq_35101189/article/details/57425283