溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java基礎(chǔ)中繼承相關(guān)的內(nèi)容有哪些

發(fā)布時(shí)間:2021-11-20 15:31:11 來(lái)源:億速云 閱讀:104 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹Java基礎(chǔ)中繼承相關(guān)的內(nèi)容有哪些,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

今天分享的是Java的基礎(chǔ)--繼承相關(guān)的內(nèi)容

  1. 方法重寫概念: 子父類成員方法的特殊情況----覆蓋

    子類中出現(xiàn)與父類一某一樣的方法時(shí),會(huì)出現(xiàn)覆蓋操作,也稱之為:override重寫 復(fù)寫或者覆蓋.

    通俗的說(shuō)就是子類要使用父類中的功能,同時(shí)自己又有自己特有的功能.

    重寫需要注意的問(wèn)題: 子類方法覆蓋父類方法,必須要保證權(quán)限大于等于父類的權(quán)限. 權(quán)限有四種,最大的時(shí)public ,最小的時(shí)private.

    2.方法重寫和方法重載的比較:

    方法重寫: 子父類中,方法聲明,方法名,參數(shù)列表和返回值類型,必須一某一樣

    方法重載:同一個(gè)類,方法聲明,方法名一樣,參數(shù)列表不一樣,跟返回值無(wú)關(guān)

    3.this與super

    當(dāng)子類創(chuàng)建對(duì)象后,該子類對(duì)象本身可以使用this代替,而該對(duì)象當(dāng)中的父類對(duì)象空間,可以使用super來(lái)代替.
    以person為類,創(chuàng)建一個(gè)人的父類,創(chuàng)建一個(gè)中國(guó)人子類,創(chuàng)建一個(gè)Test 作為測(cè)試,打印小明18歲來(lái)自科技研究院


    #### public class Person {
            private String name;
            private int age;

            public Person(){}
            public Person(String name,int age) {
                this.name = name;
                this.age = age;
             }
            
         }

    public class Chinese extends Person{
        private String address;
        public Chinese(){}
        public Chinese(String name,int age,String address) {
            super(name,age);
            this.address = address;
    }



    }


        
    public class Test{
        Chinese c = new Chinese(“小明”,18,”中國(guó)科技研究院”);
    }
    4.this 與super調(diào)用普通成員與構(gòu)造方法

    調(diào)用普通成員:
    this.成員變量 可以訪問(wèn)本類對(duì)象的成員變量

    super.成員變量 可以訪問(wèn)父類對(duì)象的成員變量

    this.成員方法() 可以訪問(wèn)本類對(duì)象的成員方法

    super.成員方法() 可以訪問(wèn)父類對(duì)象的成員方法

    調(diào)用構(gòu)造方法:
    this(其他參數(shù)) 可以訪問(wèn)本類其他的構(gòu)造方法

    super(其他參數(shù)) 可以訪問(wèn)父類其他的構(gòu)造方法

    構(gòu)造方法:
    無(wú)法繼承,默認(rèn)調(diào)用父類無(wú)參構(gòu)造

    super():表示訪問(wèn)父類無(wú)參構(gòu)造方法

    super(參數(shù)) :表示訪問(wèn)父類有參構(gòu)造方法

    舉例: 用代碼實(shí)現(xiàn)如下語(yǔ)句:使用繼承的方法,不使用抽象:

    工資為8000元的30歲的王小平正在吃飯

    工資為8000元的30歲的王小平老師在講課

    成績(jī)?yōu)?0.0分的14歲的小王在吃學(xué)生餐

    成績(jī)?yōu)?0.0分的14歲的小王學(xué)生在學(xué)習(xí)

    1.定義一個(gè)Person類:

    public class Person {
        private String name;
        private int age;
        public  Person(){}
        public  Person(String name,int age){
            this.name = name ;
            this.age = age;
            
            
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public void eat(){
            
            
            System.out.println(age+"歲的"+name+"在吃飯");
        }

    }
    2.定義一個(gè)Teacher類:

    public class Teacher extends Person {
        private int salary;

        public void  eat(){
        System.out.println("工資為"+salary+"元的"+getAge()+"歲的"+getName()+"正在吃飯");
        }
    public void lecture(){
        System.out.println("工資為"+salary+"元的"+getAge()+"歲的"+getName()+"老師在講課");
        
    }

        public Teacher(){}
        public Teacher(String name,int age,int salary){
            
            super(name,age);
            this.salary = salary;
        }
        public int getSalary() {
            return salary;
        }
        public void setSalary(int salary) {
            this.salary = salary;
        }

    }
    3.創(chuàng)建一個(gè)學(xué)生類:

    public class Student extends Person{
        
        private double score;
        public void  eat(){
            
            System.out.println("成績(jī)?yōu)?quot;+score+"分的"+getAge()+"歲的"+getName()+"在吃學(xué)生餐");
        }
        
        public void study(){
            
            
            System.out.println("成績(jī)?yōu)?quot;+score+"分的"+getAge()+"歲的"+getName()+"學(xué)生在學(xué)習(xí)");
            
            
        }
        public Student(){}
        public Student(String name ,int age,int score){
            super(name,age);
            this.score = score;
        }

        public double getScore() {
            return score;
        }

        public void setScore(double score) {
            this.score = score;
        }
        
        

    }
    4.測(cè)試:

    public class test01 {

        public static void main(String[] args) {
            Teacher t = new Teacher();
            t.setName("王小平");
            t.setAge(30);
            t.setSalary(8000);
            t.eat();
            t.lecture();
            Student s = new Student("小王",14,90);
            s.eat();
            s.study();
            
        }

    }

關(guān)于Java基礎(chǔ)中繼承相關(guān)的內(nèi)容有哪些就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI