继承

一.继承

    在面向对象程序设计中,继承的实体是类,也就是说继承是子类拥有父类的成员。

  1.继承的实现

    在Java语言中,继承通过extends关键字来实现。也就是用extends指明当前类是子类,并指明从哪个类继承而来。即在子类的声明中,通过使用extends关键字来显式地指明其父类。其基本的声明格式如下:

          【修饰符】  class 子类名  extends  父类名{

            类体

           }

    修饰符:可选参数,用于指定类的访问权限,可选值为public、abstract和final。

    子类名:必选参数,用于指定子类的名称,类名必须是合法的Java标识符。一般情况下,要求首字母大写。

    extends 父类名:必选参数,用于指定要定义的子类继承于哪个父类。  

    2.继承中的重写

       重写是指父子类之间的关系,当子类继承父类中所有可能被子类访问的成员方法时,如果子类的方法名与父类的方法名相同,那么子类就不能继承父类的方法,此时,称为子类的方法重写了父类的方法。重写体现了子类补充或者改变父类方法的能力。通过重写,可以使一个方法在不同的子类中表现出不同的行为。

 

子类对父类的继承:

 1 package org.hanqi.pn0120;
 2 
 3 public class Father {
 4 
 5     
 6     private String name;
 7     
 8     private int age;
 9 
10     public String getName() {
11         return name;
12     }
13 
14     public void setName(String name) {
15         this.name = name;
16     }
17 
18     public int getAge() {
19         return age;
20     }
21 
22     public void setAge(int age) {
23         this.age = age;
24     }
25     
26     public Father()
27     {
28         System.out.println("父亲的构造方法");
29     }
30     
31     //工作
32     public void work()
33     {
34         System.out.println("我劳动我光荣");
35     }
36 }
Father
 1 package org.hanqi.pn0120;
 2 
 3 public class TestJiCheng {
 4 
 5     public static void main(String[] args) {
 6         
 7         //
 8         Father f=new Father();
 9         
10         f.setName("父亲");
11         
12         f.setAge(50);
13         
14         System.out.println("名字是 "+  f.getName()+"  年龄是 "+  f.getAge());
15         
16         f.work();
17         
18         System.out.println();
19         
20         Son s=new Son();
21         
22         s.setName("儿子");
23         
24         s.setAge(20);
25         
26         System.out.println("名字是 "+s.getName()+"  年龄是 "+  s.getAge());
27         
28         s.work();
29         
30         s.sing();
31 
32     }
33 
34 }
TestJiCheng
 1 package org.hanqi.pn0120;
 2 
 3 public class Son extends Father {
 4     
 5       //Object a;所说类的父类
 6     
 7       public Son()
 8       {
 9           System.out.println("子类的构造方法");
10       }
11       
12       public void sing()
13       {
14           System.out.println("我喜欢唱歌");
15       }
16       
17       //覆盖(重写)
18       public void work()
19       {
20           System.out.println("我不喜欢上班,我要去参加海选");
21       }
22  
23       
24 }
Son

原文地址:https://www.cnblogs.com/arxk/p/5252097.html