Java抽象類概念與用法實例分析
本文實例講述了Java抽象類概念與用法。分享給大家供大家參考,具體如下:
抽象:就是對一個事物的大概描述
抽象方法:以abstract修飾的方法,這種方法只聲明返回數(shù)據(jù)類型,方法名和所需參數(shù),并沒有函數(shù)體。如 abstract void study();
抽象類特點:
1.抽象類中不一定含有抽象方法;但抽象方法一定在抽象類中。
2.抽象類不具備實際功能,只能用于派生子類
3.抽象類中可以包含構(gòu)造函數(shù),但是構(gòu)造函數(shù)不能被聲明成抽象。抽象類中的成員方法包括一般方法和抽象方法
4.抽象方法和抽象類都必須被abstract關(guān)鍵字修飾
5.抽象類不可以用new創(chuàng)建對象,必須由子類復寫所有抽象方法后,建立子類對象調(diào)用。
6.抽象類中的抽象方法要被使用,必須要子類復寫所有的抽象方法后,建立子類調(diào)用。如果子類只復寫了部分抽象方法,那么該子類還是一個抽象類。
7.抽象方法必須為public或者protected(因為如果為private,則不能被子類繼承,子類便無法實現(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è)計入門與進階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
Spring Boot結(jié)合IDEA自帶Maven插件如何快速切換profile
IDEA是目前 Java 開發(fā)者中使用最多的開發(fā)工具,它有著簡約的設(shè)計風格,強大的集成工具,便利的快捷鍵,這篇文章主要介紹了Spring Boot結(jié)合IDEA自帶Maven插件快速切換profile,需要的朋友可以參考下2023-03-03
詳解Spring MVC攔截器實現(xiàn)session控制
這篇文章主要介紹了詳解Spring MVC攔截器實現(xiàn)session控制,使用session監(jiān)聽,重復登錄后,強制之前登錄的session過期。有興趣的可以了解一下。2017-01-01
MyBatisPlus的IService接口實現(xiàn)
MyBatisPlus是一個為MyBatis提供增強的工具,它通過IService接口簡化了數(shù)據(jù)庫的CRUD操作,IService接口封裝了一系列常用的數(shù)據(jù)操作方法,本文就來介紹一下,感興趣的可以了解一下2024-10-10

