亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

java學(xué)習(xí)筆記(二十二)繼承的進(jìn)一步研究

系統(tǒng) 2243 0
java學(xué)習(xí)筆記(二十二)繼承的進(jìn)一步研究

繼承的進(jìn)一步研究


1.1 子類對象實例化過程

子類對象的實例化::先調(diào)用父類的構(gòu)造方法,然后再調(diào)用子類的構(gòu)造方法。

實例:

    class Person
{
 private String name;
 private int age;
 public Person(){
 System.out.println("父類person中的構(gòu)造:");
 }
 public void setName(String name){
 this.name=name;
 }
 public void setAge(int age){
 this.age=age;
 }
 public String getName(){
 return this.name;
 }
 public int getAge(){
 return this.age;
 }
};
class Student extends Person
{
 //此處添加代碼
 private String school;
 public Student(){
 System.out.println("子類Student中的構(gòu)造:");
 }
 public void setSchool(String school){
 this.school=school;
 }
 public String getSchool(){
 return this.school;
 }
 }
public class ExDemo01
{
 public static void main(String args[]){
 Student stu = new Student();
 //stu.setName("張三");
 //stu.fun();
 }
}

 

結(jié)果為:

 


F:\java>javac ExDemo01.java

F:\java>java ExDemo01
父類person中的構(gòu)造:
子類Student中的構(gòu)造:

 

 


注意:實際上,此時,對于子類的構(gòu)造方法中,隱含了一個“super”的語句。有時候?qū)⒏割惓蔀椤俺悺薄?class Person
{
 private String name;
 private int age;
 public Person(){
 System.out.println("父類person中的構(gòu)造:");
 }
 public void setName(String name){
 this.name=name;
 }
 public void setAge(int age){
 this.age=age;
 }
 public String getName(){
 return this.name;
 }
 public int getAge(){
 return this.age;
 }
};
class Student extends Person
{
 //此處添加代碼
 private String school;
 public Student(){
  super();//默認(rèn)隱藏
 System.out.println("子類Student中的構(gòu)造:");
 }
 public void setSchool(String school){
 this.school=school;
 }
 public String getSchool(){
 return this.school;
 }
 }
public class ExDemo01
{
 public static void main(String args[]){
 Student stu = new Student();
 //stu.setName("張三");
 //stu.fun();
 }
}


  



1.2 方法的覆蓋


子類定義了與父類同名的方法,但在方法覆蓋時候必須考慮到權(quán)限。即被子類覆蓋的方法不能擁有比父類方法更加嚴(yán)格的訪問權(quán)限。

所以父類中使用public定義的方法,子類的訪問權(quán)限必須是public。

java中,訪問權(quán)限有四種:

private:最小的訪問權(quán)限

default:什么都不聲明

public:最大的訪問權(quán)限

private《default《public;


實例:

    class Person
{
 void print(){
 System.out.println("父類");
 }
};
class Student
{
 public void print(){
  System.out.println("子類");
 }
};
public class ExDemo03
{
 public static void main(String args[]){
 Student stu = new Student();
 stu.print();
 }
}

  



輸出為;

F:\java>javac ExDemo03.java

F:\java>java ExDemo03
子類


1.3 如果飛要調(diào)用父類的被覆蓋的方法呢?


通過super關(guān)鍵字就可以完成此功能,super關(guān)鍵字可以從子類訪問父類的內(nèi)容,如果要訪問被覆蓋的方法:super.方法();


//import java.lang.*;
class Person
{
void print(){
System.out.println("父類");
}
};
class Student extends Person
{
public void print(){
super.print();
System.out.println("子類");
}
};
public class ExDemo03
{
public static void main(String args[]){
Student stu = new Student();
stu.print();
}
}

結(jié)果為:


F:\java>javac ExDemo03.java

F:\java>java ExDemo03
父類
子類

如果去掉super,默認(rèn)是this.print();程序不斷調(diào)用自己的子類的print();

    //import java.lang.*;
class Person
{
 void print(){
 System.out.println("父類");
 }
};
class Student extends Person
{
 public void print(){
  print();
  System.out.println("子類");
 }
};
public class ExDemo03
{
 public static void main(String args[]){
 Student stu = new Student();
 stu.print();
 }
}


  



結(jié)果:


at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)
at Student.print(ExDemo03.java:11)

1.4 this與super的區(qū)別

A:屬性訪問


this訪問本類中的屬性,如果本類沒有此屬性則從父類中繼續(xù)查找。


super直接訪問父類的屬性

B:方法


this訪問本類中的方法,如果本類沒有此方法則從父類中繼續(xù)查找。


super直接訪問父類的方法


C:構(gòu)造調(diào)用

this調(diào)用本類構(gòu)造
super調(diào)用父類構(gòu)造


D:
this表示當(dāng)前對象
super無此概念

java學(xué)習(xí)筆記(二十二)繼承的進(jìn)一步研究


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲国产精品网站久久 | 欧美资源站 | 亚洲精品一区二区三区五区 | 91福利社在线观看 | 久久久久青草大香线综合精品 | 亚洲高清美女一区二区三区 | 日日天天干| 国产系列在线播放 | a一级毛片免费高清在线 | 久久久久久久男人的天堂 | 日韩影片在线观看 | 色爽女| 国产精品高清在线观看地址 | 四虎影视永久在线观看 | 四虎影院在线看 | 天天插天天舔 | 欧美另类高清xxxxx | 中文精品爱久久久国产 | 极品美女aⅴ高清在线观看 极品美女一级毛片 | 香蕉久久夜色精品国产2020 | 性欧美视频在线观看 | 大学生一级毛片免费看真人 | 久久网站在线观看 | 日本视频中文字幕一区二区 | 天天久久狠狠色综合 | 干干日日 | 2021在线永久免费视频 | 在线国产一区二区三区 | 伊人精品成人久久综合欧美 | 欧美一区二区三区综合色视频 | 免费在线观看一级片 | 国产日韩久久久久69影院 | 久久综合精品不卡一区二区 | 草草在线观看视频 | 奇米在线免费视频 | 久久精品国产亚洲片 | 一级片在线视频 | 人与禽交免费网站视频 | 精品一久久香蕉国产线看观看下 | 一级做性色a爱片久久片 | 色狠狠色综合吹潮 |