java抽象类 抽象方法_Java基础 -- Java 抽象类 抽象方法
總結(jié):
1. 抽象類不能被實(shí)例化(初學(xué)者很容易犯的錯(cuò)),如果被實(shí)例化,就會(huì)報(bào)錯(cuò),編譯無法通過。只有抽象類的非抽象子類可以創(chuàng)建對(duì)象。
2. 抽象類中不一定包含抽象方法,但是有抽象方法的類必定是抽象類。
3. 抽象類中的抽象方法只是聲明,不包含方法體,就是不給出方法的具體實(shí)現(xiàn)也就是方法的具體功能。
4. 構(gòu)造方法,類方法(用 static 修飾的方法)不能聲明為抽象方法。
5. 抽象類的子類必須給出抽象類中的抽象方法的具體實(shí)現(xiàn),除非該子類也是抽象類。
詳細(xì)解釋:
>1. 抽象類不能被實(shí)例化(初學(xué)者很容易犯的錯(cuò)),如果被實(shí)例化,就會(huì)報(bào)錯(cuò),編譯無法通過。只有抽象類的非抽象子類可以創(chuàng)建對(duì)象。
但是抽象類可以有構(gòu)造函數(shù),用來當(dāng)子類調(diào)用super()...
public abstract classEmployee
{privateString name;privateString address;private intnumber;public Employee(String name, String address, intnumber)
{
System.out.println("Constructing an Employee");this.name =name;this.address =address;this.number =number;
}
}//---------------------------------
public class Salary extendsEmployee
{private double salary; //Annual salary
public Salary(String name, String address, int number, doublesalary)
{super(name, address, number);
setSalary(salary);
}
}
>4. 構(gòu)造方法,類方法(用 static 修飾的方法)不能聲明為抽象方法。
重點(diǎn)常考!:final和abstract,private和abstract,static和abstract,這些是不能放在一起的修飾符,因?yàn)閍bstract修飾的方法是必須在其子類中實(shí)現(xiàn)(覆蓋),才能以多態(tài)方式調(diào)用,以上修飾符在修飾方法時(shí)期子類都覆蓋不了這個(gè)方法,final是不可以覆蓋,private是不能夠繼承到子類,所以也就不能覆蓋,static是可以覆蓋的,但是在調(diào)用時(shí)會(huì)調(diào)用編譯時(shí)類型的方法,因?yàn)檎{(diào)用的是父類的方法,而父類的方法又是抽象的方法,又不能夠調(diào)用,所以上的修飾符不能放在一起。
---------------------
作者:踏一回月
來源:CSDN
原文:https://blog.csdn.net/qq_40302611/article/details/80426381
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!
總結(jié)
以上是生活随笔為你收集整理的java抽象类 抽象方法_Java基础 -- Java 抽象类 抽象方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 主键 uniqo_优衣库某处
- 下一篇: java正则表达式空行_正则表达式删除空