Java抽象類概念與用法實(shí)例分析
本文實(shí)例講述了Java抽象類概念與用法。分享給大家供大家參考,具體如下:
抽象:就是對(duì)一個(gè)事物的大概描述
抽象方法:以abstract修飾的方法,這種方法只聲明返回?cái)?shù)據(jù)類型,方法名和所需參數(shù),并沒有函數(shù)體。如 abstract void study();
抽象類特點(diǎn):
1.抽象類中不一定含有抽象方法;但抽象方法一定在抽象類中。
2.抽象類不具備實(shí)際功能,只能用于派生子類
3.抽象類中可以包含構(gòu)造函數(shù),但是構(gòu)造函數(shù)不能被聲明成抽象。抽象類中的成員方法包括一般方法和抽象方法
4.抽象方法和抽象類都必須被abstract關(guān)鍵字修飾
5.抽象類不可以用new創(chuàng)建對(duì)象,必須由子類復(fù)寫所有抽象方法后,建立子類對(duì)象調(diào)用。
6.抽象類中的抽象方法要被使用,必須要子類復(fù)寫所有的抽象方法后,建立子類調(diào)用。如果子類只復(fù)寫了部分抽象方法,那么該子類還是一個(gè)抽象類。
7.抽象方法必須為public或者protected(因?yàn)槿绻麨閜rivate,則不能被子類繼承,子類便無法實(shí)現(xiàn)該方法)
abstract class Student//抽象類
{
private String name;
private int age;
abstract void study();//抽象方法
Student(String name,int age)
{
this.name=name;
this.age=age;
}
}
class GaoZhongStudent extends Student
{
private String xuehao;
GaoZhongStudent(String name,int age,String xuehao)
{
super(name,age);//執(zhí)行父類構(gòu)造函數(shù)
this.xuehao=xuehao;
}
public void study()
{
System.out.println("study gaozhong");
}
}
class ChuZhongStudent extends Student
{
ChuZhongStudent(String name,int age)
{
super(name,age);
}
public void study()
{
System.out.println("study chuzhong");
}
}
class abstractDemo
{
public static void main(String[] args)
{
ChuZhongStudent p1=new ChuZhongStudent("zhangsan",20);
p1.study();
GaoZhongStudent p2=new GaoZhongStudent("lisi",20,"yaohua001");
p2.study();
}
}
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
Java如何實(shí)現(xiàn)可折疊Panel方法示例
這篇文章主要給大家介紹了關(guān)于利用Java如何實(shí)現(xiàn)可折疊Panel的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
Spring Boot結(jié)合IDEA自帶Maven插件如何快速切換profile
IDEA是目前 Java 開發(fā)者中使用最多的開發(fā)工具,它有著簡(jiǎn)約的設(shè)計(jì)風(fēng)格,強(qiáng)大的集成工具,便利的快捷鍵,這篇文章主要介紹了Spring Boot結(jié)合IDEA自帶Maven插件快速切換profile,需要的朋友可以參考下2023-03-03
詳解Spring MVC攔截器實(shí)現(xiàn)session控制
這篇文章主要介紹了詳解Spring MVC攔截器實(shí)現(xiàn)session控制,使用session監(jiān)聽,重復(fù)登錄后,強(qiáng)制之前登錄的session過期。有興趣的可以了解一下。2017-01-01
Idea?編譯并運(yùn)行?Spark?3.1.1?源碼的方法
這篇文章主要介紹了Idea?編譯并運(yùn)行?Spark?3.1.1源碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-11-11
MyBatisPlus的IService接口實(shí)現(xiàn)
MyBatisPlus是一個(gè)為MyBatis提供增強(qiáng)的工具,它通過IService接口簡(jiǎn)化了數(shù)據(jù)庫(kù)的CRUD操作,IService接口封裝了一系列常用的數(shù)據(jù)操作方法,本文就來介紹一下,感興趣的可以了解一下2024-10-10

