最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java用接口、多態(tài)、繼承、類計算三角形和矩形周長及面積的方法

 更新時間:2015年05月19日 11:44:09   作者:一羽清寧  
這篇文章主要介紹了java用接口、多態(tài)、繼承、類計算三角形和矩形周長及面積的方法,涉及java面向?qū)ο笾蓄?、接口、多態(tài)等的使用技巧,需要的朋友可以參考下

本文實例講述了java用接口、多態(tài)、繼承、類計算三角形和矩形周長及面積的方法。分享給大家供大家參考。具體如下:

定義接口規(guī)范:

/** 
 * @author vvv 
 * @date 2013-8-10 上午08:56:48 
 */ 
package com.duotai; 
/** 
 * 
 * 
 */ 
public interface Shape { 
  public double area(); 
  public double longer(); 
} 
/** 
 * @author vvv 
 * @date 2013-8-10 上午09:10:06 
 */ 
package com.duotai; 
/** 
 * 
 * 
 */ 
public class Triangle implements Shape { 
  double s1; 
  double s2; 
  double s3; 
  // 初始化一個三角形對象,并賦予該三角形三邊長 
  public Triangle(double s1, double s2, double s3) { 
    if (isTri(s1, s2, s3)) { 
      this.s1 = s1; 
      this.s2 = s2; 
      this.s3 = s3; 
    } else { 
      System.out.println("輸入的三邊長" + s1 + "、" + s2 + "、" + s3
      + "不能組成一個三角形,請重新輸入三邊長!"); 
    } 
  } 
  // 判斷是否是個三角形 
  public boolean isTri(double s1, double s2, double s3) { 
    if (s1 + s2 < s3) { 
      return false; 
    } 
    if (s1 + s3 < s2) { 
      return false; 
    } 
    if (s2 + s3 < s1) { 
      return false; 
    } 
    return true; 
  } 
  /* 
   * (non-Javadoc) 
   * 
   * @see com.duotai.Shape#area() 
   */ 
  @Override 
  public double area() { 
    double p = (s1 + s2 + s3) / 2; 
    return Math.sqrt(p * (p - s1) * (p - s2) * (p - s3)); 
  } 
  /* 
   * (non-Javadoc) 
   * 
   * @see com.duotai.Shape#longer() 
   */ 
  @Override 
  public double longer() { 
    return s1 + s2 + s3; 
  } 
} 
/** 
 * @author vvv 
 * @date 2013-8-10 上午09:12:06 
 */ 
package com.duotai; 
/** 
 * 
 * 
 */ 
public class Director implements Shape { 
  double s1; 
  double s2; 
  // 初始化一個長方形,并賦予該長方形兩邊長 
  public Director(double s1, double s2) { 
    this.s1 = s1; 
    this.s2 = s2; 
  } 
  /* 
   * (non-Javadoc) 
   * 
   * @see com.duotai.Shape#area() 
   */ 
  @Override 
  public double area() { 
    // TODO Auto-generated method stub 
    return s1 * s2; 
  } 
  /* 
   * (non-Javadoc) 
   * 
   * @see com.duotai.Shape#longer() 
   */ 
  @Override 
  public double longer() { 
    // TODO Auto-generated method stub 
    return 2 * (s1 + s2); 
  } 
} 
/** 
 * @author vvv 
 * @date 2013-8-10 上午09:13:30 
 */ 
package com.duotai; 
/** 
 * 
 * 
 */ 
public class Test { 
  /** 
   * @param args 
   */ 
  public static void main(String[] args) { 
    Shape triangle = new Triangle(3, 4, 8);
    // 新建一個三邊長為3,4,5的三角形 
    Shape tri = new Triangle(3, 4, 5); 
    Shape director = new Director(10, 20);
    // 新建一個兩邊長為10,20的長方形 
    System.out.println("三角形triangle的周長為:" + triangle.longer()); 
    System.out.println("三角形triangle的面積為:" + triangle.area()); 
    System.out.println("三角形tri的周長為:" + tri.longer()); 
    System.out.println("三角形tri的面積為:" + tri.area()); 
    System.out.println("該長方形的周長為:" + director.longer()); 
    System.out.println("該長方形的面積為:" + director.area()); 
  } 
}

希望本文所述對大家的java程序設(shè)計有所幫助。

相關(guān)文章

  • java高并發(fā)的用戶線程和守護線程詳解

    java高并發(fā)的用戶線程和守護線程詳解

    本篇文章主要介紹了淺談java中守護線程與用戶線程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-10-10
  • MyBatis核心源碼深度剖析SQL語句執(zhí)行過程

    MyBatis核心源碼深度剖析SQL語句執(zhí)行過程

    這篇文章主要介紹了MyBatis核心源碼深度剖析SQL執(zhí)行過程,mybatis執(zhí)行SQL的流程都是根據(jù)statement字符串從configuration中獲取對應的mappedStatement,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2022-05-05
  • 解讀maven項目的打包方式

    解讀maven項目的打包方式

    這篇文章主要介紹了關(guān)于maven項目的打包方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Spring的@ConfigurationProperties注解詳解

    Spring的@ConfigurationProperties注解詳解

    這篇文章主要介紹了Spring的@ConfigurationProperties注解詳解,@ConfigurationProperties該注解是用來獲取yml或者properties配置文件的配置信息,下面根據(jù)一些配置信息給出案例代碼進行講解,需要的朋友可以參考下
    2023-11-11
  • Spring中的EurekaServer啟動詳解

    Spring中的EurekaServer啟動詳解

    這篇文章主要介紹了Spring中的EurekaServer啟動詳解,初始化eureka,包含eureka集群的同步和發(fā)布注冊,這個方法時重寫ServletContextListener#contextInitialized,是eureka啟動的入口了,需要的朋友可以參考下
    2023-11-11
  • Shell腳本管理Java應用程序的高效方法

    Shell腳本管理Java應用程序的高效方法

    在軟件開發(fā)中,管理和監(jiān)控 Java 應用程序的運行狀態(tài)變得愈加重要,本文將分享一個自用的簡單但高效的 Shell 腳本,幫助輕松管理 JAR 包的啟動、停止和日志管理,需要的朋友可以參考下
    2024-09-09
  • Java實用小技能之快速創(chuàng)建List常用幾種方式

    Java實用小技能之快速創(chuàng)建List常用幾種方式

    java集合可以說無論是面試、刷題還是工作中都是非常常用的,下面這篇文章主要給大家介紹了關(guān)于Java實用小技能之快速創(chuàng)建List常用的幾種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • 深入了解JAVA HASHMAP的死循環(huán)

    深入了解JAVA HASHMAP的死循環(huán)

    HASHMAP基于哈希表的 Map 接口的實現(xiàn)。此實現(xiàn)提供所有可選的映射操作,并允許使用 null 值和 null 鍵。(除了非同步和允許使用 null 之外,HashMap 類與 Hashtable 大致相同。)下面小編來帶大家詳細了解下吧
    2019-06-06
  • Java面試之動態(tài)規(guī)劃與組合數(shù)

    Java面試之動態(tài)規(guī)劃與組合數(shù)

    這篇文章主要介紹了Java面試之動態(tài)規(guī)劃與組合數(shù)的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • 利用Java截取String字符串的幾種常用方法

    利用Java截取String字符串的幾種常用方法

    在開發(fā)應用中經(jīng)常會使用到java string,這篇文章主要給大家介紹了關(guān)于利用Java截取String字符串的幾種常用方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-05-05

最新評論

云浮市| 南漳县| 衡阳县| 嘉鱼县| 托克逊县| 三江| 万年县| 萍乡市| 烟台市| 兴义市| 班戈县| 乌恰县| 晋州市| 四川省| 灵璧县| 澄城县| 唐山市| 维西| 循化| 龙井市| 乌苏市| 沙田区| 金阳县| 台前县| 西城区| 彭州市| 合作市| 阳山县| 逊克县| 溆浦县| 江油市| 吴桥县| 隆昌县| 扎赉特旗| 濮阳市| 承德县| 舟山市| 崇阳县| 安西县| 沈丘县| 陇南市|