欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java編程abstract類(lèi)和方法詳解

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

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

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

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

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

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

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

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

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

eg:

抽象父類(lèi)Person:

package com.lanhuigu.java;
/** 
 * 抽象類(lèi):不能用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)";
	}
}

非抽象子類(lèi)Teacher:

package com.lanhuigu.java;
/** 
 * 繼承于抽象類(lèi)person,必須實(shí)現(xiàn)父類(lèi)中的所有抽象方法 
 */
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é)";
	}
}

非抽象子類(lèi)Student:

package com.lanhuigu.java;
/** 
 * 繼承于抽象類(lèi)person,必須實(shí)現(xiàn)父類(lèi)中的所有抽象方法 
 */
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é)";
	}
}

抽象子類(lèi)OthersPerson:

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

非抽象子類(lèi)ExtendsOthersPerson繼承于抽象子類(lèi)OthersPerson:

package com.lanhuigu.java;
/** 
 * 必須實(shí)現(xiàn)抽象父類(lèi)OthersPerson,以及OthersPerson父類(lèi)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ò),抽象類(lèi)不能被實(shí)例化 
		System.out.println(teacher.eat());
		System.out.println(teacher.sleep());
		System.out.println(teacher.sport());
		// 繼承父類(lèi)非抽象方法 
		System.out.println("==============");
		System.out.println(student.eat());
		System.out.println(student.sleep());
		System.out.println(student.sport());
		// 繼承父類(lèi)非抽象方法
	}
}

控制臺(tái)輸出:

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

總結(jié)

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

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

Java壓縮文件工具類(lèi)ZipUtil使用方法代碼示例

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

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

相關(guān)文章

  • OpenFeign實(shí)現(xiàn)攜帶請(qǐng)求頭方案詳細(xì)介紹

    OpenFeign實(shí)現(xiàn)攜帶請(qǐng)求頭方案詳細(xì)介紹

    這篇文章主要介紹了OpenFeign實(shí)現(xiàn)攜帶請(qǐng)求頭方案,在通過(guò)???OpenFeign???進(jìn)行服務(wù)調(diào)用的過(guò)程中,我們需要將用戶(hù)的??user-token???、??lang??等信息放入請(qǐng)求header中。在分布式系統(tǒng)中,往往一個(gè)業(yè)務(wù)接口內(nèi)部會(huì)發(fā)生多次RPC調(diào)用
    2022-11-11
  • Java中的RocketMQ消費(fèi)冪等詳解

    Java中的RocketMQ消費(fèi)冪等詳解

    這篇文章主要介紹了Java中的RocketMQ消費(fèi)冪等詳解,當(dāng)出現(xiàn)消費(fèi)者對(duì)某條消息重復(fù)消費(fèi)的情況時(shí),重復(fù)消費(fèi)的結(jié)果與消費(fèi)一次的結(jié)果是相同的,并且多次消費(fèi)并未對(duì)業(yè)務(wù)系統(tǒng)業(yè)務(wù)產(chǎn)生任何負(fù)面影響,那么這個(gè)消費(fèi)過(guò)程就是消息冪等,需要的朋友可以參考下
    2023-10-10
  • Java IO流之字符緩沖流實(shí)例詳解

    Java IO流之字符緩沖流實(shí)例詳解

    這篇文章主要介紹了Java IO流之字符緩沖流,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • String實(shí)例化及static final修飾符實(shí)現(xiàn)方法解析

    String實(shí)例化及static final修飾符實(shí)現(xiàn)方法解析

    這篇文章主要介紹了String實(shí)例化及static final修飾符實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 詳解Spring Boot整合Mybatis實(shí)現(xiàn) Druid多數(shù)據(jù)源配置

    詳解Spring Boot整合Mybatis實(shí)現(xiàn) Druid多數(shù)據(jù)源配置

    本篇文章主要介紹了詳解Spring Boot整合Mybatis實(shí)現(xiàn) Druid多數(shù)據(jù)源配置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Java面試高頻問(wèn)題之RabbitMQ系列全面解析

    Java面試高頻問(wèn)題之RabbitMQ系列全面解析

    在介紹RabbitMQ之前實(shí)現(xiàn)要介紹一下MQ,MQ是什么?MQ全稱(chēng)是Message Queue,可以理解為消息隊(duì)列的意思,簡(jiǎn)單來(lái)說(shuō)就是消息以管道的方式進(jìn)行傳遞。RabbitMQ是一個(gè)實(shí)現(xiàn)了AMQP(Advanced Message Queuing Protocol)高級(jí)消息隊(duì)列協(xié)議的消息隊(duì)列服務(wù),用Erlang語(yǔ)言的
    2021-11-11
  • Java超詳細(xì)講解類(lèi)的繼承

    Java超詳細(xì)講解類(lèi)的繼承

    繼承就是可以直接使用前輩的屬性和方法。自然界如果沒(méi)有繼承,那一切都是處于混沌狀態(tài)。多態(tài)是同一個(gè)行為具有多個(gè)不同表現(xiàn)形式或形態(tài)的能力。多態(tài)就是同一個(gè)接口,使用不同的實(shí)例而執(zhí)行不同操作
    2022-04-04
  • @RequestBody 部分屬性沒(méi)有轉(zhuǎn)化成功的處理

    @RequestBody 部分屬性沒(méi)有轉(zhuǎn)化成功的處理

    這篇文章主要介紹了@RequestBody 部分屬性沒(méi)有轉(zhuǎn)化成功的處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 多線程下怎樣保證OkHttpClient的線程安全

    多線程下怎樣保證OkHttpClient的線程安全

    這篇文章主要介紹了多線程下怎樣保證OkHttpClient的線程安全問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java字符串排序的幾種實(shí)現(xiàn)方式

    Java字符串排序的幾種實(shí)現(xiàn)方式

    這篇文章主要給大家介紹了關(guān)于Java字符串排序的幾種實(shí)現(xiàn)方式, 使用Java平臺(tái)進(jìn)行字符串排序被認(rèn)為是一件簡(jiǎn)單的工作,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07

最新評(píng)論