最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java編程abstract類和方法詳解

 更新時間:2017年12月12日 16:36:51   作者:街燈下的小草  
這篇文章主要介紹了java編程abstract類和方法詳解,具有一定借鑒價值,需要的朋友可以參考下。

抽象類和抽象方法常用知識點(diǎn):

(1)抽象類作為被繼承類,子類必須實現(xiàn)抽象類中的所有抽象方法,除非子類也為抽象類。

也就是說,如果子類也為抽象類,可以不實現(xiàn)父類中的抽象方法。但是,如果有一個非抽象類

繼承于抽象子類,需要實現(xiàn)抽象子類,抽象子類的抽象父類的所有抽象方法,新帳舊賬一起算。

(2)抽象類不能用final進(jìn)行修飾。

(3)抽象類不能被實例化,也就是說你用的時候不能通過new關(guān)鍵字創(chuàng)建。

(4)抽象類中可以包含抽象方法和非抽象方法,抽象方法沒有方法體,也就是沒有具體實現(xiàn),

只是定義了有什么功能,但是非抽象方法含有方法體。

eg:

抽象父類Person:

package com.lanhuigu.java;
/** 
 * 抽象類:不能用final修飾, 
 * 可以包含抽象方法和非抽象方法, 
 * 抽象方法沒有方法體,只是定義功能,沒有實現(xiàn); 
 * 非抽象方法為正常的方法。 
 */
public abstract class Person {
	/* 
   * abstract methods 
   */
	public abstract String eat();
	public abstract String sleep();
	/* 
   * non-abstract methods 
   */
	public String sport() {
		return "生命在于運(yùn)動";
	}
}

非抽象子類Teacher:

package com.lanhuigu.java;
/** 
 * 繼承于抽象類person,必須實現(xiàn)父類中的所有抽象方法 
 */
public class Teacher extends Person {
	@Override 
	  public String eat() {
		// TODO Auto-generated method stub 
		return "老師吃飯";
	}
	@Override 
	  public String sleep() {
		// TODO Auto-generated method stub 
		return "老師睡覺";
	}
}

非抽象子類Student:

package com.lanhuigu.java;
/** 
 * 繼承于抽象類person,必須實現(xiàn)父類中的所有抽象方法 
 */
public class Student extends Person {
	@Override 
	  public String eat() {
		// TODO Auto-generated method stub 
		return "學(xué)生吃飯";
	}
	@Override 
	  public String sleep() {
		// TODO Auto-generated method stub 
		return "學(xué)生睡覺";
	}
}

抽象子類OthersPerson:

package com.lanhuigu.java; 
/** 
 * 抽象類繼承自抽象類,可以不用實現(xiàn)其父類的抽象方法 
 */ 
public abstract class OthersPerson extends Person { 
  public abstract String call(); 
} 

非抽象子類ExtendsOthersPerson繼承于抽象子類OthersPerson:

package com.lanhuigu.java;
/** 
 * 必須實現(xiàn)抽象父類OthersPerson,以及OthersPerson父類Person中 
 * 的所有抽象方法,新帳舊賬一起算。 
 */
public class ExtendsOthersPerson extends OthersPerson {
	@Override 
	  public String sleep() {
		// TODO Auto-generated method stub 
		return "睡覺";
	}
	@Override 
	  public String eat() {
		// TODO Auto-generated method stub 
		return "吃飯";
	}
	@Override 
	  public String call() {
		// TODO Auto-generated method stub 
		return "打電話";
	}
}

測試代碼:

package com.lanhuigu.java;
public class TestAbstract {
	public static void main(String[] args) {
		Teacher teacher = new Teacher();
		Student student = new Student();
		//OthersPerson othersPerson = new OthersPerson();//報錯,抽象類不能被實例化 
		System.out.println(teacher.eat());
		System.out.println(teacher.sleep());
		System.out.println(teacher.sport());
		// 繼承父類非抽象方法 
		System.out.println("==============");
		System.out.println(student.eat());
		System.out.println(student.sleep());
		System.out.println(student.sport());
		// 繼承父類非抽象方法
	}
}

控制臺輸出:

老師吃飯
老師睡覺
生命在于運(yùn)動
==============
學(xué)生吃飯
學(xué)生睡覺
生命在于運(yùn)動

總結(jié)

以上就是本文關(guān)于java編程abstract類和方法詳解的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

java中staticclass靜態(tài)類詳解

Java壓縮文件工具類ZipUtil使用方法代碼示例

Java編程關(guān)于子類重寫父類方法問題的理解

如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • springBoot整合rabbitmq測試常用模型小結(jié)

    springBoot整合rabbitmq測試常用模型小結(jié)

    這篇文章主要介紹了springBoot整合rabbitmq并測試五種常用模型,本文主要針對前五種常用模型,在spirngboot框架的基礎(chǔ)上整合rabbitmq并進(jìn)行測試使用,需要的朋友可以參考下
    2022-01-01
  • Spring指定bean在哪個應(yīng)用加載(示例詳解)

    Spring指定bean在哪個應(yīng)用加載(示例詳解)

    本文通過實例代碼介紹了Spring指定bean在哪個應(yīng)用加載,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-08-08
  • Mybatis 中如何判斷集合的size

    Mybatis 中如何判斷集合的size

    這篇文章主要介紹了在Mybatis中判斷集合的size操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java在Map轉(zhuǎn)Json字符串時出現(xiàn)"\"轉(zhuǎn)義字符的解決辦法

    Java在Map轉(zhuǎn)Json字符串時出現(xiàn)"\"轉(zhuǎn)義字符的解決辦法

    當(dāng)一個Map被轉(zhuǎn)成Json字符串后,被添加到另一個Map中,會出現(xiàn)被加上“\”轉(zhuǎn)義字符的情況,這個時候該如何解決呢,下面就來和小編一起了解一下
    2023-07-07
  • 使用sharding-jdbc實現(xiàn)水平分表的示例代碼

    使用sharding-jdbc實現(xiàn)水平分表的示例代碼

    本文主要介紹了sharding-jdbc實現(xiàn)水平分表,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java 3D入門之基本圖形功能 附源碼

    Java 3D入門之基本圖形功能 附源碼

    Java3D API是Sun定義的用于實現(xiàn)3D顯示的接口。3D技術(shù)是底層的顯示技術(shù),Java3D提供了基于Java的上層接口。Java3D把OpenGL和DirectX這些底層技術(shù)包裝在Java接口中。這種全新的設(shè)計使3D技術(shù)變得不再繁瑣且可以加入到J2SE、J2EE的整套架構(gòu),故保證了Java3D技術(shù)強(qiáng)大的擴(kuò)展性
    2021-10-10
  • Springboot整合Rabbitmq之Confirm和Return機(jī)制

    Springboot整合Rabbitmq之Confirm和Return機(jī)制

    這篇文章主要介紹了Springboot整合Rabbitmq之Confirm和Return詳解,本篇重點(diǎn)進(jìn)行Confirm?機(jī)制和Return?機(jī)制的實現(xiàn)和說明,通過實例代碼相結(jié)合給大家詳細(xì)介紹,對Springboot整合Rabbitmq相關(guān)知識感興趣的朋友一起看看吧
    2022-02-02
  • Java 線程池ExecutorService詳解及實例代碼

    Java 線程池ExecutorService詳解及實例代碼

    這篇文章主要介紹了Java 線程池ExecutorService詳解及實例代碼的相關(guān)資料,線程池減少在創(chuàng)建和銷毀線程上所花的時間以及系統(tǒng)資源的開銷.如果不使用線程池,有可能造成系統(tǒng)創(chuàng)建大量線程而導(dǎo)致消耗系統(tǒng)內(nèi)存以及”過度切換“
    2016-11-11
  • Java Spring Boot實戰(zhàn)練習(xí)之單元測試篇

    Java Spring Boot實戰(zhàn)練習(xí)之單元測試篇

    單元測試(unit testing),是指對軟件中的最小可測試單元進(jìn)行檢查和驗證。對于單元測試中單元的含義,一般來說,要根據(jù)實際情況去判定其具體含義,如C語言中單元指一個函數(shù),Java里單元指一個類,圖形化的軟件中可以指一個窗口或一個菜單等
    2021-10-10
  • SpringBoot整合RabbitMQ的5種模式的注解綁定詳解

    SpringBoot整合RabbitMQ的5種模式的注解綁定詳解

    這篇文章主要介紹了SpringBoot整合RabbitMQ的5種模式的注解綁定詳解,RabbitMQ 是一個消息中間件,它接收消息并且轉(zhuǎn)發(fā),是"消費(fèi)-生產(chǎn)者模型"的一個典型的代表,一端往消息隊列中不斷的寫入消息,而另一端則可以讀取或者訂閱隊列中的消息,需要的朋友可以參考下
    2024-01-01

最新評論

汝阳县| 昌黎县| 临泉县| 宜昌市| 徐汇区| 三门县| 张家港市| 固镇县| 大埔区| 米脂县| 吴桥县| 龙胜| 台前县| 万山特区| 济宁市| 浑源县| 龙南县| 六盘水市| 博客| 收藏| 寻甸| 荃湾区| 牡丹江市| 西和县| 博乐市| 桦南县| 达孜县| 巫山县| 长春市| 区。| 酒泉市| 万荣县| 正定县| 贞丰县| 玉山县| 涿鹿县| 红原县| 长海县| 革吉县| 余江县| 巧家县|