日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

【Java】6.5 抽象类

發布時間:2025/3/20 java 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Java】6.5 抽象类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

抽象類和抽象方法

為什么要使用抽象類


抽象類和抽象方法

抽象類:使用abstract修飾的類就是抽象類。總結起來,抽象類的特性就是有得有失:

  • 得:就是可以設置抽象方法
  • 失:就是不能創建實例
  • 其他的普通類可以有的抽象類也可以有

抽象類的注意點

  • 雖然抽象類不能創建實例,但他依然有構造器,它的構造器主要是供其子類構造器調用的
  • 抽象類自己完全沒有抽象方法
  • 抽象類總是不能創建實例的 ——?即使它沒有包含任何抽象方法
  • 抽象方法:使用abstract修飾且沒有方法體(即沒有花括號的方法)

    抽象方法的注意點

  • 抽象方法沒有方法體
  • 只要在方法后出現花括號,即使花括號中沒有任何代碼,那也是方法體
  • abstract不能與final同時出現:
  • 對于abstract方法而言,該方法需要子類去重寫該方法,final不允許被重寫,因此不能同時出現
  • 對于abstract類而言,該類是希望有子類去繼承它的,final修飾的類是不允許被繼承的
  • abstract與static不能同時修飾方法(見注釋1
  • abstract和private不能同時修飾方法,因為abstract修飾的方法希望被子類重寫,而private修飾的方法子類是無法獲取的
  • 為什么要使用抽象類

    主要和“模板模式”結合在一起

    需求場景:程序需要實現A方法,但是A方法又需要調用B方法。但此時,B方法暫時不知道如何實現(不同的子類對B方法的實現【是不同】)。此時就是需要把B方法定義成抽象方法。

    Volume.java

    //定義一個抽象類 public abstract class Volume {public Volume() {}// 定義一個抽象的實現求體積的方法public abstract double getVolume(); }

    Cube.java?

    public class Cube extends Volume {// 定義成員變量,正方體的邊長private double edge;// 定義一個無參數的構造器,一個有參數構造器public Cube() {}public Cube(double edge) {this.edge = edge;}// 因為成員變量時private修飾,所以需要setter和getter方法獲取相關數據public double getEdge() {return edge;}public void setEdge(double edge) {this.edge = edge;}// 重寫getVolume方法@Overridepublic double getVolume() {return edge * edge * edge;}}

    Cylinder.java

    public class Cylinder extends Volume {// 定義成員變量,圓柱體的底面半徑和高private double radius;private double height;// 創建兩個構造器,一個無參數構造器,一個有參數構造器public Cylinder() {}public Cylinder(double radius, double height) {this.radius = radius;this.height = height;}/// 因為成員變量時private修飾,所以需要setter和getter方法獲取相關數據public void setRadius(double radius) {this.radius = radius;}public double getRadius() {return radius;}public void setHeight(double height) {this.height = height;}public double getHeight() {return height;}// 重寫getVolume方法@Overridepublic double getVolume() {return Math.PI * radius * radius * height;} }

    AbstractTest.java

    public class AbstractTest {public static void main(String[] args) {// 多態,向上轉型Volume cylinder = new Cylinder(3.14, 5.56);Volume cube = new Cube(5.6);System.out.println("圓柱體的體積:" + cylinder.getVolume());System.out.println("正方體的體積:" + cube.getVolume());} }

    【注釋1】當static修飾方法的時候,說明這個方法屬于類本身。調用這個方法時,可以直接通過類調用。當使用abstract修飾該方法時,該方法是沒有方法體的。此時,若通過類調用該方法,就會出現錯誤(調用沒有方法的方法體)

    總結

    以上是生活随笔為你收集整理的【Java】6.5 抽象类的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲 日本 欧美 中文幕 | 国产一区二区免费在线 | 精品久久人人妻人人做人人 | 漂亮人妻被中出中文字幕 | 91视频免费在线 | 欧美性受xxxx黑人猛交88 | 国产成人精品一区二区三区视频 | 中国毛片网站 | 欧洲精品在线观看 | 欧美黄色免费大片 | 国产高清免费 | 丁香激情综合 | 成人免费版| 国产一区二区三区视频网站 | 国产一区二区三区在线看 | 国产乱淫av麻豆国产免费 | 综合色99 | 五月天校园春色 | 岛国av一区| 欧美黄色图片 | 天堂资源最新在线 | 欧美性生交xxxxxdddd | 337p粉嫩大胆色噜噜噜 | 九九黄色大片 | 毛片99 | 免费在线日韩av | 一区二区国产电影 | 色婷婷中文字幕 | 好吊色这里只有精品 | av二区在线 | 日韩视频免费观看高清完整版在线观看 | 激情视频在线播放 | 天天艹 | 国产视频第一页 | 亚洲美女av网站 | 在线观看中文字幕一区 | 成年人视频免费 | 国产精品视频福利 | 成人黄色小视频在线观看 | 日本一区二区在线播放 | 一级黄色电影片 | 国产麻豆成人传媒免费观看 | 国产精品第一页在线观看 | 好吊日免费视频 | 国产美女引诱水电工 | 久久国产成人精品国产成人亚洲 | 亚洲欧美国产一区二区三区 | 午夜视频免费在线 | 精品人妻一区二区三区四区不卡 | 国产又粗又硬 | 国产精品成人一区二区网站软件 | 色综综 | 日韩在线观看视频网站 | 国产免费一区二区三区免费视频 | 日韩欧美中文字幕在线观看 | 中文在线观看高清视频 | 欧美囗交做爰视频 | 亚洲黄色影院 | 久热精品视频在线 | 中文精品在线 | 日本一本久草 | 久久久99国产精品免费 | 一区二区日韩 | 久久久久久国产精品免费 | 国产在线青青草 | 激情在线观看视频 | 日本人六九视频 | 狠狠操夜夜爽 | 欧美性潮喷xxxxx免费视频看 | 国产精品国产三级国产aⅴ浪潮 | 久久久久无码国产精品不卡 | 国产视频三级 | www.国产91 | 啪啪网站免费观看 | 88久久精品无码一区二区毛片 | 禁漫天堂黄漫画无遮挡观看 | 免费毛片av | 超碰在线国产 | 日韩亚洲欧美综合 | 成人亚洲网站 | 欧美日韩在线成人 | 图片区 小说区 区 亚洲五月 | 亚欧美日韩| 草av| 亚洲天堂中文字幕在线 | 欧美性xxxx在线播放 | 欧美整片在线观看 | 国产午夜精品一区二区理论影院 | 黄色网占| 欧美xxxxbbb| 成人看片| 国产在线一区视频 | 亚洲蜜臀av一区二区三区 | 国产网站免费观看 | 亚洲人成电影网站 | 青娱乐最新视频 | 第四色影音先锋 | 人妻91麻豆一区二区三区 | 久艹在线 |