日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java类的继承关键字_Java的第八天(类的继承、super关键字的使用、方法的重写)...

發布時間:2023/12/20 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java类的继承关键字_Java的第八天(类的继承、super关键字的使用、方法的重写)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

39.類的繼承java

描述類的時候,咱們若是發現有幾個類有重復的屬性和方法,咱們就能夠采用繼承的方法來設計ide

使用extends關鍵字來繼承this

語法:設計

class 子類 extends 父類{對象

子類屬性繼承

子類方法內存

}資源

特色:(1)子類會把父類全部屬性和方法繼承下來(暫時不考慮final)get

(2)子類使用extends關鍵字繼承父類的共同屬性之外。子類話能夠有本身特有的屬性和方法;數學

(3)父類更通用,子類更具體

(4)子類只能得到符類中的非private的屬性,若是想要繼承就得提供公共的set和get的方法。私有的方法是沒法繼承下來的;

(5)java中只能作單繼承。能夠多級繼承不能多繼承。

class ChineseTeacher{

String name;

private int age;

public void setAge(int myAge){

age=myAge;

}

public int getAge(){

return age;

}

public void speek(){

System.out.println("老師在講課");

}

}

/*類的繼承語法:

class 子類 extends 父類{

子類屬性

子類方法

}

*/

class MathTheacher extends ChineseTeacher{

boolean isMarry;

public void mathTeach(){

System.out.println(this.getAge()+"歲的"+name+"教數學");

}

}

public class Teacher{

public static void main(String[] args){

MathTheacher m=new MathTheacher();

m.name="大可愛";

m.setAge(27);

int age=m.getAge();

m.isMarry=true;

m.speek();

m.mathTeach();

}

}

//發現一個問題,當我把主方法放在MathTeacher下建立m的時候編譯是沒有問題的可是運行Mathteacher卻出現錯誤: 找不到或沒法加載主類 MathTeacher,不知道為何這樣不能夠

40.類的繼承的內存結構

總結:在類的繼承結構中,若是建立一個子類的對象,那么在子類的對象內部建立一個父類的對象,若是經過子類的對象訪問屬性的時候,就會到父類的對象中去查找,若是調用方法的時候也是同樣的,若是子類中沒有,也會到父類中查找。

42.super關鍵字的使用

(1)子類經過默認構造器實例化的過程當中父類的構造器先被調用,而后再調用子類的構造器,在子類構造器內部默認的調用super();

public JavaTeacher{

super();//隱藏調用父類的構造器

System.out.println("子類構造器被調用");

}

注意:若是父類帶有有參數的構造器,而且沒有顯式的定義父類的默認構造器,默認構造器被覆蓋,致使子類的構造器沒法經過super()來作調用,就會編譯報錯,須要顯式的定義父類的默認的構造器

(2)若是子類的構造器中調用了父類中的有參數的構造器,默認的super()調用就不會有了,不能在子類的構造器中調用兩個super(..);

(3)super(..)調用必須放在方法的第一行

(4)super 能夠表示父類的引用,使用super和this區分父類和子類中同名的屬性,在子類中訪問屬性的查找順序首先在子類中查找指定的屬性名字,若是子類中沒有該屬性,那么就去父類中查找該屬性,方法也是同樣,可是能夠經過super對父類的引用來調用父類的方法。

重點:1.理解super(...)對于父類構造器的調用;2.super表示子類內部的那個父類的對象引用

對比this關鍵字:1.表明當前類的指定實例的引用;2.能夠區分同名的屬性和局部變量;3.經過This能夠調用同類中的構造器(this(),this(...));4.調用本類里面的屬性,this.屬性名,this.方法名();

class Teacher{

String name="小白兔";

int age=20;

public Teacher(){

System.out.println("父類構造器被調用");

}

}

class ArtTeacher extends Teacher{

String name="小老虎";

int age=22;

public ArtTeacher(){

//super();//隱藏調用父類的構造器

System.out.println("子類構造器被調用");

}

public void introduce(){

System.out.println(this.name+super.age);

}

}

public class Test{

public static void main(String[] args){

ArtTeacher A=new ArtTeacher();

A.introduce();

}

}

43.方法的重寫

在子類繼承父類時,子類的方法和父類的方法相同(訪問修飾先支付,返回值類型,方法名,參數列表),方法體不一樣,這種子類的方法將父類的方法覆蓋叫重寫

重寫和重載的區別:

重寫:(override)在子類的繼承中有相同的方法,惟一布通的就是方法體,通常是父類的該方法知足不了子類的需求全部才發生重寫;

重載:(overload)重載是在同一個類中,有著相同的方法名可是參數的數據類型或者參數的個數不一樣這兩個方法就是重載,母的是節省類中命名資源和提升代碼的可讀性;

總結

以上是生活随笔為你收集整理的Java类的继承关键字_Java的第八天(类的继承、super关键字的使用、方法的重写)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。