日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
一篇文章帶你了解Java繼承那些事兒

一、繼承的概念

創(chuàng)新互聯(lián)公司IDC提供業(yè)務(wù):綿陽電信機房機柜租用,成都服務(wù)器租用,綿陽電信機房機柜租用,重慶服務(wù)器租用等四川省內(nèi)主機托管與主機租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機房,BGP機房,電信機房,移動機房,聯(lián)通機房。

1.什么是繼承

在現(xiàn)實生活中,繼承指的是子女繼承父輩的財產(chǎn)。在程序中,當一個類A能夠得到另一個類B中所有非私有的數(shù)據(jù)和操作的定義作為自己的部分或全部成分時,我們就叫做這兩個類之間具有繼承關(guān)系。

2.例如貓、狗、兔、豬都屬于動物,在程序中貓、狗、兔、豬都繼承動物。波斯貓和英國短毛貓繼承貓,這些動物會形成一個繼承體系。在程序中繼承在現(xiàn)有的類基礎(chǔ)上創(chuàng)建一個新的類,創(chuàng)建一個新的類叫做子類,現(xiàn)有類叫做父類或超類,子類會擁有父類所有可繼承的屬性和方法。

3.繼承的實現(xiàn)

① 確定父類。

② 定義子類。

 
 
 
 
  1. [類修飾符]  class 子類名 extends 父類名

子類能夠繼承父類所有非私有的屬性和方法。

③ 實現(xiàn)子類的功能。

4.類是如何繼承父類案例一

 
 
 
 
  1. //定義Fruit水果類
  2. class Fruit{
  3.     public double weight;//重量屬性
  4.     //info()方法
  5.     public void info(){
  6.             System.out.println("我是一個水果,重量為" + weight + "g!");
  7.     }
  8. }
  9. public class Apple extends Fruit{
  10.     public static void main(String[] args){
  11.             Apple a = new Apple();//創(chuàng)建對象
  12.             a.weight = 87;//給weight屬性賦值
  13.             a.info();//調(diào)用info方法
  14.     }
  15. }

輸出的結(jié)果是:

 
 
 
 
  1. 我是一個水果,重量為87.0g!

從上面代碼中,我們可以看出定義了一個Fruit類,在Fruit類中定義了weight屬性和info方法。Apple類繼承Fruit類,創(chuàng)建對象實例化,然后給weight屬性賦值,調(diào)用info方法。

5.類是如何繼承父類案例二

 
 
 
 
  1. class Animal{
  2.     public String name;//名字屬性
  3.     public int age;//年齡屬性
  4.     //動物叫的方法
  5.     void shout(){
  6.         System.out.print("喵喵喵~~~");
  7.   }
  8. }
  9. //定義Cat繼承Animal類
  10. class Cat extends Animal{
  11.     //顯示名字和年齡方法
  12.     public void show(){
  13.         System.out.print("我是"+name+","+"今年"+age+"歲");
  14.   }
  15. }
  16. public class p20 {
  17. public static void main(String[] args) {
  18.     // TODO Auto-generated method stub
  19.     Cat c=new Cat();//創(chuàng)建Cat類實例對象
  20.     c.name="英國短毛貓";//給Cat類的name屬性賦值
  21.     c.age=2;//給Cat類的age屬性賦值
  22.     c.show();//調(diào)用Cat類的show()方法
  23.     c.shout();//調(diào)用Cat類的shout()方法
  24.   }
  25. }

輸出的結(jié)果是:

 
 
 
 
  1. 我是英國短毛貓,今年2歲喵喵喵~~~

在上面代碼中,首先是定義了一個Animal類,Cat類使用extends繼承Animal類.,使得Cat類是Animal類的子類,Animal作為一個父類。我們便發(fā)現(xiàn)在子類并沒有定義name、age屬性和shout()方法,可以訪問到它們非私有屬性和方法。說明了子類是可以擁有父類的所有非私有的屬性和方法。

二、繼承需要注意的問題

1.單重繼承是指任何一個類都只有一個單一的父類。

例如:

 
 
 
 
  1. class A1{
  2.     void show(){
  3.     System.out.println("A1");
  4.     }
  5. }
  6. class A2{
  7.     void show(){
  8.     System.out.println("A1");
  9. }
  10. class B extends A1,A2{
  11.     public void show(){
  12.     System.out.println("bbb");
  13.     } 
  14. }

在上面代碼中是不合法的,任何一個類只有支持單繼承,不可以多重繼承。也是就B類是不可以同時繼承A1和A2。如果B b=new B(),那么b.show()是調(diào)用哪個一個父類方法呢?無法給出答案,所以是不能多重繼承。

2.多重繼承是指一個類可以有一個以上的父類,它的靜態(tài)的數(shù)據(jù)屬性和操作從所有這些父類中繼承。

3.多個類可以繼承一個父類。

例如:

 
 
 
 
  1. class A{}
  2. class B extends A{}
  3. class C extends A{}

在上面代碼中是合法的,B類和C類都可以繼承A類的所有非私有屬性和方法。

4.一個類的父類可以去繼承另外的父類,這就是多層繼承。

例如:

 
 
 
 
  1. class A{}
  2. class B extends A{}
  3. class C extends B{}

在上面代碼中,實現(xiàn)了多層繼承B類繼承A類,B類是A類的子類,C類繼承B類,C類是B類的子類,C類也是A類的子類。在一個類是某個類父類的同時,也是另一個類的父類。例如B類是A類的子類,也是C類的父類。

三、總結(jié)

本文主要介紹了繼承、繼承需要注意的問題。繼承是當一個類A能夠得到另一個類B中所有非私有的數(shù)據(jù)和操作的定義作為自己的部分或全部成分時,我們就叫做這兩個類之間具有繼承關(guān)系。

本文介紹了繼承的實現(xiàn)方法,通過兩個案例幫助理解繼承的用法。繼承是只支持單繼承,不支持多重繼承。多個類可以繼承一個父類。一個類的父類是可以繼承另外的父類。希望大家通過本文的學習,對你有所幫助!

本文轉(zhuǎn)載自微信公眾號「Java進階學習交流」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系Java進階學習交流公眾號。


新聞名稱:一篇文章帶你了解Java繼承那些事兒
本文來源:http://www.5511xx.com/article/ccohipd.html