• 继承


    一.继承

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

      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

  • 相关阅读:
    《Effective C#中文版:改善C#程序的50种方法》读书笔记
    WPF总结
    定义集合属性(WPF)
    c#只读字段和常量的区别,以及静态构造函数的使用 .
    编程方法的参数
    关于事件的点滴总结
    线程间的消息(或数据)传递
    OOP的感悟
    VS2010快捷键大全----养成良好的习惯
    UTF-8里包括GB2312
  • 原文地址:https://www.cnblogs.com/arxk/p/5252097.html
Copyright © 2020-2023  润新知