zoukankan      html  css  js  c++  java
  • Java继承特性

    继承的特点:

    1、提高了代码的复用性。
    
    2、让类与类之间发生了关系,有了这个关系,才有了多态的特性。
    

    (注意:千万不要为了获取其他类的功能,简化代码而继承;必须是类与类之间有所属关系才可以继承,所属关系 is a。)

    子父类出现后,类成员的特点:
    1、变量;2、函数;3、构造函数。

    举例【1】:变量(此函数打印出来的结果是5....4 )

    class Fu{
      int num1=5;  
    }
    class Zi extends Fu{ 
    int num2=4; 
    }	
    class StudentDemo2{
    public static void main(String[] args) {
      Zi z=new Zi();
           {
              System.out.println(z.num1+"...."+z.num2);
           }
                 }
                        }
    

    举例【2】:函数(此函数的运行结果是zi show java)

    当子类出现和父类一模一样的函数时;子类对象调用该函数,会运行子类函数的内容;如同父类的函数被覆盖一样,这种情况是函数的其中一个特性:覆盖(重写)

    当子类继承父类,沿袭了父类的功能到子类中,但是子类虽具备该功能,但是功能的内容却和父类不一致时;没有必要定义新功能,而是使用覆盖特性,保留父类的功能定义,并重写功能内容。

    class Fu{
    void show(){       
          System.out.println("fu show");
       }
    void speak(){      
         System.out.println("vb");
      }
    }
    class Zi extends Fu{	
    void show(){     
                System.out.println("zi show");
               }
    void speak(){
                 System.out.println("java");
                }
              }
    class StudentDemo2{	
        public static void main(String[] args){	
    		Zi z=new Zi();
    		z.show();
    		z.speak();
      }
    }
    

    举例【3】:构造函数(此函数运行的结果是:haha lala)

    结论:
    子类的所有的构造函数,默认都会访问父类中空参数的构造函数,因为子类每一个构造函数内的第一行都有一句隐式super()。

    当父类中没有空参数的构造函数时,子类必须手动通过super语句形式来指定要访问父类中的构造函数。
    当然:子类的构造函数第一行也可以手动指定this语句来访问本类中的构造函数。

    class Fu{
    Fu(){
    System.out.println("haha");
         }
             }
    class Zi extends Fu{
    Zi(){
    
    //这里有一个隐藏的的语句:super();默认要先访问父类中空参数的构造函数。
    System.out.println("lala");
         }
             }
    class StudentDemo3{
       public static void main(String[] args){
               Zi z=new Zi();
                         }
                    }
  • 相关阅读:
    从1.5k到18k, 一个程序员的5年成长之路
    我是如何准备技术面试的
    10个惊艳的Ruby单行代码
    经典Spring面试题和答案
    数据分析应该要避免的6个错误
    代码重构的实战经验和那些坑
    勾勒物联网与大数据的数据中心路线图
    共筑Spark大数据引擎的七大工具
    es6学习总结(一)
    vue-cli搭建与vue-router(路由配置)
  • 原文地址:https://www.cnblogs.com/shijiayi/p/4433268.html
Copyright © 2011-2022 走看看