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

java學習筆記(二十一)繼承

系統 2385 0
java學習筆記(二十一)繼承

繼承的基本概念:


1.1--繼承的基本概念:

先看一下兩個類

Person類和Student類

class Person
{
private String name;
private int age;
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
{
private String name;
private int age;
private string school;
public void setName(String name){
this.name=name;
}
public void setAge(int age){
this.age=age;
}
public void setSchool(String school){
this.school=school;
}
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}
public String getSchool(){
return this.school;
}
};


類定義好了,但是這樣是否合理呢》

兩個類的部分代碼是重復的。

但是從實際的角度看,這種實現肯定不好。
這就要使用繼承的概念,
class Person
{
private String name;
private int age;
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
{
//此處不添加任何代碼
};
public class ExDemo01
{
public static void main(String args[]){
Student stu = new Student();
stu.setName("張三");
stu.setAge(18);
System.out.println("姓名:"+stu.getName()+"年齡:"+stu.getAge());
}
}

F:\java>java ExDemo01
姓名:張三,年齡:18

可以把父類的內容拿過來在子類中繼續使用,這樣,子類如果有一些重復的方法,將就不用重復定義了。


繼承:子類繼承父類,擴展已有類的功能。

1.2 extends關鍵字:成為擴展,子類也稱為派生類。


class Person
{
private String name;
private int age;
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 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.setAge(18);
stu.setSchool("清華大學");
System.out.println("姓名:"+stu.getName()+",年齡:"+stu.getAge()+",學校:"+stu.getSchool());
}
}


結果為:


F:\java>java ExDemo01
姓名:張三,年齡:18,學校:清華大學

F:\java>

1.3 繼承的限制

在java中只允許單繼承,不允許多繼承。即一個子類只能繼承一個父類,


class A{

};
class B
{

};
class C extends A,B
{

};


結果為:

F:\java>javac ExDemo02.java
ExDemo02.java:7: 需要 '{'
class C extends A,B{
^
1 錯誤

但是允許多層繼承,即一個子類可以有一個父類,一個父類還可以有一個父類。

class A{

};
class B extends A{

};
class C extends B{

};

1.4:訪問限制

子類是不能直接訪問父類的私有成員的,但是子類可以調用父類的非私有方法,但是不能直接調用父類中的私有成員。
class Person
{
private String name;
private int age;
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
{
//此處添加代碼
public void fun(){
System.out.println(name);//錯誤
}

};
public class ExDemo02
{
public static void main(String args[]){
Student stu = new Student();
stu.setName("張三");
stu.fun();
}
}


F:\java>javac ExDemo01.java
ExDemo01.java:26: 類 ExDemo02 是公共的,應在名為 ExDemo02.java 的文件中聲明
public class ExDemo02
^
ExDemo01.java:22: name 可以在 Person 中訪問 private
System.out.println(name);//錯誤
^
2 錯誤

修改后的代碼:

class Person
{
private String name;
private int age;
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
{
//此處添加代碼
public void fun(){
System.out.println(getName());//錯誤
}

};
public class ExDemo01
{
public static void main(String args[]){
Student stu = new Student();
stu.setName("張三");
stu.fun();
}
}


結果為:
F:\java>javac ExDemo01.java

F:\java>
F:\java>java ExDemo01
張三

F:\java>

java學習筆記(二十一)繼承


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 狠狠久久久久综合网 | 日本天天色 | 久久99精品久久久久久青青日本 | 99视频在线看观免费 | 在线观看精品国内福利视频 | 久久r精品 | 亚洲狠狠婷婷综合久久久久 | 久久久性视频 | 五月久久亚洲七七综合中文网 | 久久精品免费观看视频 | 日韩特黄| 成人在线观看网站 | 国产一级特黄aaa大片 | 日本一区二区三区免费高清在线 | 4虎最新| 久射网 | 国产精品视频一区二区三区经 | 美女被羞羞产奶视频网站 | 国产尤物在线播放 | 四小虎免费永久观看 | 天天爱天天干天天操 | 午夜精品久久久久久久2023 | 日本一级毛片免费 | 韩国色三级伦不卡高清在线观看 | 91人人看| 久色tv| 亚洲欧美中文日韩综合 | 精品煌色视频网站在线观看 | h片免费观看 | 国产成人久久精品推最新 | 久久99这里只有精品 | 一级毛片免费视频观看 | 日本一区二区三区高清在线观看 | 深夜成人 | 国产精品区牛牛影院 | 国产成人在线小视频 | 国产一级特黄老妇女大片免费 | 青草免费免费观看视频在线 | 亚洲高清中文字幕一区二区三区 | 黄色一级毛片 | 伊人高清|