JAVA补充-抽象类
生活随笔
收集整理的這篇文章主要介紹了
JAVA补充-抽象类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.抽象類基本概念
1 package com.neusoft.abstracted; 2 /** 3 * 抽象類:在class之前加abstract關鍵字 4 * 抽象方法語法: 修飾符 abstract 返回值類型 方法名(形參列表); 5 * 1.抽象方法的返回值前面有abstract關鍵字 6 * 2.抽象方法沒有方法體 7 * 3.抽象方法的定義是一行單獨的語句,,以分號結束。 8 * =================================== 9 * 4.一個類中如果定義了抽象方法,這個類一定是抽象類 10 * 5.抽象方法必須在抽象類中,但是抽象類中可以沒有抽象方法 11 * 6.抽象類不能自己創建自己的對象,使用new創建抽象類對象將產生錯誤 12 * 7.子類繼承抽象類的時候,應該覆蓋抽象類中的所有方法,否則子類也必須定義為抽象類 13 * 14 *問題:定義一個類,使得其包含計算面積的方法,定義表示三角形的類Triangle和 15 *表示矩形的類Rectangle,分別繼承上述的抽象類。 16 */ 17 public abstract class AbstractClassedDemo { 18 double width; 19 double height; 20 public AbstractClassedDemo(double w,double h) { 21 this.width=w; 22 this.height=h; 23 } 24 public abstract double getAera(); 25 }2.以矩形、三角形等為例分析抽象類
1 package com.neusoft.abstracted; 2 3 public class Rectangle extends AbstractClassedDemo{ 4 5 public Rectangle(double w, double h) { 6 super(w, h); 7 } 8 9 @Override 10 public double getAera() { 11 return width*height; 12 } 13 14 } Rectangle矩形類3.三角形
1 package com.neusoft.abstracted; 2 3 public class Trangle extends AbstractClassedDemo { 4 5 public Trangle(double w, double h) { 6 super(w, h); 7 } 8 9 @Override 10 public double getAera() { 11 // TODO Auto-generated method stub 12 return width*height/2; 13 } 14 15 } Trangle?4.測試代碼
1 package com.neusoft.abstracted; 2 3 public class TestAbstract { 4 public static void main(String[] args) { 5 Trangle trangle = new Trangle(4, 6); 6 Rectangle rectangle = new Rectangle(4, 6); 7 8 System.out.println("三角形"+trangle.getAera()); 9 System.out.println("四邊形"+rectangle.getAera()); 10 } 11 } TestAbstract5.結果分析:
?
轉載于:https://www.cnblogs.com/jackchen-Net/p/6524555.html
總結
以上是生活随笔為你收集整理的JAVA补充-抽象类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式一の设计模式详解
- 下一篇: php日常收获