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

java編程abstract類和方法詳解

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

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

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

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

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

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

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

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

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

eg:

抽象父類Person:

package com.lanhuigu.java;
/** 
 * 抽象類:不能用final修飾, 
 * 可以包含抽象方法和非抽象方法, 
 * 抽象方法沒(méi)有方法體,只是定義功能,沒(méi)有實(shí)現(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)動(dòng)";
	}
}

非抽象子類Teacher:

package com.lanhuigu.java;
/** 
 * 繼承于抽象類person,必須實(shí)現(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 "老師睡覺(jué)";
	}
}

非抽象子類Student:

package com.lanhuigu.java;
/** 
 * 繼承于抽象類person,必須實(shí)現(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é)生睡覺(jué)";
	}
}

抽象子類OthersPerson:

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

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

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

測(cè)試代碼:

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();//報(bào)錯(cuò),抽象類不能被實(shí)例化 
		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());
		// 繼承父類非抽象方法
	}
}

控制臺(tái)輸出:

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

總結(jié)

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

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

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

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

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

相關(guān)文章

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

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

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

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

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

    Mybatis 中如何判斷集合的size

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

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

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

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

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

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

    Java3D API是Sun定義的用于實(shí)現(xiàn)3D顯示的接口。3D技術(shù)是底層的顯示技術(shù),Java3D提供了基于Java的上層接口。Java3D把OpenGL和DirectX這些底層技術(shù)包裝在Java接口中。這種全新的設(shè)計(jì)使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ī)制的實(shí)現(xiàn)和說(shuō)明,通過(guò)實(shí)例代碼相結(jié)合給大家詳細(xì)介紹,對(duì)Springboot整合Rabbitmq相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-02-02
  • Java 線程池ExecutorService詳解及實(shí)例代碼

    Java 線程池ExecutorService詳解及實(shí)例代碼

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

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

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

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

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

最新評(píng)論

鄢陵县| 遵义市| 双峰县| 余江县| 涟源市| 皋兰县| 德阳市| 阿尔山市| 林芝县| 巧家县| 张家口市| 桦川县| 闽清县| 平罗县| 普安县| 东明县| 沂源县| 南丹县| 无为县| 汽车| 广丰县| 都匀市| 银川市| 临清市| 定边县| 正镶白旗| 湾仔区| 东城区| 浑源县| 井冈山市| 洞头县| 互助| 辽源市| 安塞县| 裕民县| 鄱阳县| 多伦县| 贵阳市| 汉沽区| 印江| 泉州市|