java_1_繼承

一、繼承的目的

是為了復(fù)用代碼

  1. 直接用繼承的方法、屬性
  2. 看不上,自己重寫(xiě)(方法名、參數(shù)類(lèi)型和個(gè)數(shù)都一樣)

二、父類(lèi)

package com.extend;

public class Student {
    
    public String name;
    public int age;
    public String classNo;
    public String shcool;
    
    public void toSchool(){
        System.out.println("我是"+name+",我要去"+shcool+"上學(xué)!");
    }
    
    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }  
    
}

二、子類(lèi)

package com.extend;

public class MidlleStudent extends Student{

}

package com.extend;
//繼承
public class HighStudent extends Student{
    //增加自己的東西
    public String biology;
    //重寫(xiě)繼承的方法
    public void toSchool(){
        System.out.println("我是"+name+",我要去"+shcool+"上學(xué)!住宿,從宿舍到教室");
    }
}

三、測(cè)試

package com.extend;

public class Test {
    public static void main(String[] args) {
        
        Student student=new Student();
        
        student.name="吳令";
        student.age=29;
        student.classNo="1801";
        student.shcool="guoya";
        
        student.toSchool();
        System.out.println(student.toString());
        
        MidlleStudent ms=new MidlleStudent();
        ms.toSchool();
        
        
        Student hs=new HighStudent();
        hs.name="高中生";
        hs.age=18;
        hs.classNo="1802";
        hs.shcool="果芽";
        
        hs.toSchool();
        System.out.println(hs.toString());
        
        Student  ms=new MidlleStudent();
        ms.toSchool();
        

    }
}


三、java三大特性

  1. 封裝
  2. 繼承
  3. 多態(tài)

練習(xí)

  1. 寫(xiě)student類(lèi):封裝(把N個(gè)屬性、M個(gè)方法封裝到1個(gè)java類(lèi)里)
  2. 寫(xiě)MiddleStudent,繼承Student類(lèi):繼承(什么都不用寫(xiě),就具備父類(lèi)所有屬性和方法)
  3. 寫(xiě)HighStudent類(lèi),繼承Student類(lèi),新增字段,重寫(xiě)toSchool方法
  4. 寫(xiě)Test類(lèi),new MiddleStudent和new HighStudent,都用Student變量類(lèi)型存儲(chǔ):多態(tài)(Student可以有Midlle和High多種實(shí)現(xiàn)類(lèi)型)

向上轉(zhuǎn)型

HighStudent
Student
Object

其中Object類(lèi)是所有類(lèi)的祖先類(lèi)
java是單繼承體系,一個(gè)類(lèi)只能繼承一個(gè)父類(lèi)

HighStudent hs=new HighStudent();
能用的屬性和方法=HighStudent+Student+Object

Student hs=new HighStudent();
能用的屬性和方法=Student+Object

Object hs=new HighStudent();
能用的屬性和方法=Object

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容