中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

建筑設(shè)計網(wǎng)站大全網(wǎng)站windows優(yōu)化大師是官方的嗎

建筑設(shè)計網(wǎng)站大全網(wǎng)站,windows優(yōu)化大師是官方的嗎,網(wǎng)站建設(shè) 上海交大,互聯(lián)網(wǎng)網(wǎng)站建設(shè)公司組織架構(gòu)抽象類 抽象類的概念 在面向?qū)ο蟮母拍钪?amp;#xff0c;所有的對象都是通過類來描繪的,但是反過來,并不是所有的類都是來描繪對象的,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是抽象類。比如: 說…

抽象類

抽象類的概念

在面向?qū)ο蟮母拍钪?#xff0c;所有的對象都是通過類來描繪的,但是反過來,并不是所有的類都是來描繪對象的,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是抽象類。比如:

說明

1.矩形,三角形,圓形都是圖形,因此和Shape類的慣性應(yīng)該是繼承關(guān)系

2.雖然圖形圖Shape中也存在draw方法,但由于Shape類并不是具體的圖形,因此其內(nèi)部的draw方法實際是沒有辦法實現(xiàn)的

3,由于Shape類沒有辦法描述一個具體的圖形,導(dǎo)致其draw方法無法具體實現(xiàn),因此可以將Shape類設(shè)計為“抽象類”?

在打印圖形的例子中,我們發(fā)現(xiàn),父類Shape中的draw方法好像并沒有什么實際工作,主要繪制圖形都是由Shape的各種子類的draw方法來完成的。像這種沒有實際工作的方法,我們可以把它們設(shè)計成一個抽象方法(abstract method),包含抽象方法的類我們成為抽象類(abstract class)

抽象類語法

在Java中,一個類如果被abstract修飾成為抽象類,抽象類中被abstract修飾的方法成為抽象方法,抽象方法不需要給出具體的實現(xiàn)體。

//抽象類:被abstract修飾的類
public  abstract class Shape {//抽象方法:被abstract修飾的方法,沒有方法體abstract public void draw();abstract void calcArea();//抽象類也是類,也可以增加普通方法和屬性public double getArea() {return area;}protected double area;//面積
}

注意:抽象類也是類,內(nèi)部可以包含普通方法和屬性,甚至構(gòu)造方法。

抽象類特性

1.抽象類不能直接作為實例化對象

Shape shape = new Shape();//編譯出錯
Error:Shape是抽象的,無法實例化

2.抽象方法不能是private的

abstract class Shape {abstract private void draw();
}//編譯出錯
Error:非法的修飾組合:abstract和private

3.抽象方法不能被final和static修飾,因為抽象方法要被子類重寫

public abstract class Shape {abstract final void methodA();abstract public static void methodB();
}//編譯報錯:
Error:非法的修飾符組合:abstract和final
Error:非法的修飾符組合:abstract和static

4.抽象類必須被繼承,并且繼承后子類要重寫父類中的抽象方法,必須要使用abstract修飾

//矩形類
class Rect extends Shape {private double length;private double width;Rect(double length, double width) {this.length = length;this.width = width;}@Overridepublic void draw() {System.out.println("矩形:length=" + length + " width=" + width);}@Overridepublic void calcArea() {area = width * length;}
}//圓類
class Circle extends Shape {private double r;final private static double PI = 3.14;public Circle(double r) {this.r = r;}@Overridepublic void draw() {System.out.println("圓:r = " + r);}@Overridevoid calcArea() {area = PI * r * r;}
}//三角形類:
abstract class Triangle extends Shape {private double a;private double b;private double c;@Overridepublic void draw() {System.out.println("三角形:a = " + a + "b = " + b + "c = " + c);}//三角形:直角三角形,等腰三角形等,還可以繼續(xù)細化//@Override//double calcArea();//編譯失敗:要么實現(xiàn)該抽象方法,要么將三角形設(shè)計為抽象類
}

5.抽象類中不一定包含抽象方法,但有抽象方法的類一定是抽象類

6.抽象類中可以有構(gòu)造方法,供子類創(chuàng)建對象時,初始化父類成員變量

抽象類的作用

抽象類本身不能被實例化,要想使用,只能創(chuàng)建該抽象方法的子類,然后讓子類重寫父類中的抽象方法。

有些老鐵可能會問:普通的類也可以被繼承啊,那么為什么不使用普通的類呢,它也可以被重寫啊,為啥非要設(shè)計出抽象類和抽象方法呢?

確實,但是使用抽象類相當于多了一重編譯器的校驗。

使用抽象類的場景就如上面的代碼,實際工作不應(yīng)該由父類完成,而應(yīng)該由子類完成。那么此時如果不小心誤用成父類了,使用普通類編譯器是不會報錯的。但是父類是抽象類就會在實例化的時候提示錯誤,讓我們盡早發(fā)現(xiàn)問題。

很多語法存在的意義都是為了“預(yù)防出錯”,例如我們曾經(jīng)用過的final也是類似。創(chuàng)建的變量用戶不去修改,不就相當于常量嗎?但是加上final能夠在不小心誤修改的時候,讓編譯器及時提醒我們。

充分利用編譯器的校驗,在實際開發(fā)中是非常有意義的。

http://www.risenshineclean.com/news/52430.html

相關(guān)文章:

  • 千牛網(wǎng)站上的店鋪推廣怎么做福州整站優(yōu)化
  • 程序員源碼網(wǎng)站個人怎么創(chuàng)建網(wǎng)站
  • 國外空間做網(wǎng)站怎么樣百度怎么免費推廣
  • jsp網(wǎng)站建設(shè)美食焊工培訓(xùn)內(nèi)容有哪些
  • 濰坊做網(wǎng)站網(wǎng)站安全
  • 國外有哪些做服裝的網(wǎng)站有哪些快速排序優(yōu)化
  • wordpress上傳.sh腳本寧波seo排名方案優(yōu)化公司
  • 自己做的網(wǎng)站首頁變成符號了天津百度seo推廣
  • 做設(shè)計有哪些好用的素材網(wǎng)站有哪些選擇寧波seo優(yōu)化公司
  • 響應(yīng)式網(wǎng)站建設(shè)案例淘寶數(shù)據(jù)查詢
  • wordpress能做app嗎seo賺錢
  • 網(wǎng)站開發(fā)屬于大學(xué)那個專業(yè)網(wǎng)站制作方案
  • 重慶做商城網(wǎng)站網(wǎng)絡(luò)營銷推廣計劃書
  • 做文案策劃需要看什么網(wǎng)站地推團隊如何收費
  • 南京做企業(yè)網(wǎng)站博客營銷案例
  • 用什么軟件開發(fā)手機appseo百度關(guān)鍵詞優(yōu)化軟件
  • 有域名沒有服務(wù)器怎么做網(wǎng)站seo優(yōu)化是什么職業(yè)
  • 如何做日本語網(wǎng)站百度品牌廣告
  • 網(wǎng)站換模板要怎么做app推廣賺傭金
  • 網(wǎng)站建設(shè)流程簡圖獨立站推廣
  • 馬鞍山做網(wǎng)站公司排名廣州seo公司品牌
  • 做視頻點播網(wǎng)站如何賺錢seo云優(yōu)化方法
  • 科技未來網(wǎng)站建設(shè)東莞百度快照優(yōu)化排名
  • 中國和城鄉(xiāng)建設(shè)部網(wǎng)站首頁提高百度搜索排名工具
  • 蓬萊市住房和規(guī)劃建設(shè)管理局網(wǎng)站北京關(guān)鍵詞快速排名
  • 西昌市規(guī)劃建設(shè)局網(wǎng)站怎樣在百度上發(fā)布作品
  • 實驗教學(xué)網(wǎng)站的建設(shè)研究短視頻seo排名加盟
  • 東莞網(wǎng)站建設(shè)aj工作室搜索引擎營銷的主要方法
  • 聊城網(wǎng)站建設(shè)方案長沙網(wǎng)站外包公司
  • 博彩網(wǎng)站做代理賺錢嗎廣州市口碑seo推廣