java用接口、多態(tài)、繼承、類計(jì)算三角形和矩形周長(zhǎng)及面積的方法
本文實(shí)例講述了java用接口、多態(tài)、繼承、類計(jì)算三角形和矩形周長(zhǎng)及面積的方法。分享給大家供大家參考。具體如下:
定義接口規(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; // 初始化一個(gè)三角形對(duì)象,并賦予該三角形三邊長(zhǎng) 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("輸入的三邊長(zhǎng)" + s1 + "、" + s2 + "、" + s3 + "不能組成一個(gè)三角形,請(qǐng)重新輸入三邊長(zhǎng)!"); } } // 判斷是否是個(gè)三角形 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; // 初始化一個(gè)長(zhǎng)方形,并賦予該長(zhǎng)方形兩邊長(zhǎng) 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); // 新建一個(gè)三邊長(zhǎng)為3,4,5的三角形 Shape tri = new Triangle(3, 4, 5); Shape director = new Director(10, 20); // 新建一個(gè)兩邊長(zhǎng)為10,20的長(zhǎng)方形 System.out.println("三角形triangle的周長(zhǎng)為:" + triangle.longer()); System.out.println("三角形triangle的面積為:" + triangle.area()); System.out.println("三角形tri的周長(zhǎng)為:" + tri.longer()); System.out.println("三角形tri的面積為:" + tri.area()); System.out.println("該長(zhǎng)方形的周長(zhǎng)為:" + director.longer()); System.out.println("該長(zhǎng)方形的面積為:" + director.area()); } }
希望本文所述對(duì)大家的java程序設(shè)計(jì)有所幫助。
相關(guān)文章
在java中實(shí)現(xiàn)C#語(yǔ)法里的按引用傳遞參數(shù)的方法
下面小編就為大家?guī)?lái)一篇在java中實(shí)現(xiàn)C#語(yǔ)法里的按引用傳遞參數(shù)的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09java 使用ConcurrentHashMap和計(jì)數(shù)器實(shí)現(xiàn)鎖
這篇文章主要介紹了java 使用ConcurrentHashMap和計(jì)數(shù)器實(shí)現(xiàn)鎖的相關(guān)資料,需要的朋友可以參考下2017-05-05使用spring框架中的組件發(fā)送郵件功能說(shuō)明
Spring使用的是基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。這篇文章主要介紹了使用spring框架中的組件發(fā)送郵件,需要的朋友可以參考下2017-11-11RocketMQ中消費(fèi)者的消費(fèi)進(jìn)度管理
這篇文章主要介紹了RocketMQ中消費(fèi)者的消費(fèi)進(jìn)度管理,業(yè)務(wù)實(shí)現(xiàn)消費(fèi)回調(diào)的時(shí)候,當(dāng)且僅當(dāng)此回調(diào)函數(shù)返回ConsumeConcurrentlyStatus.CONSUME_SUCCESS ,RocketMQ才會(huì)認(rèn)為這批消息(默認(rèn)是1條)是消費(fèi)完成的,需要的朋友可以參考下2023-10-10如何將maven項(xiàng)目導(dǎo)出jar包(最簡(jiǎn)單方法)
大家都知道對(duì)于將maven項(xiàng)目導(dǎo)出jar包有好幾種方式,本文給大家分享一種方式最容易且最方便,感興趣的朋友跟隨小編一起看看吧2023-11-11SpringBoot引入swagger報(bào)錯(cuò)處理的解決方法
這篇文章主要給大家介紹SpringBoot引入swagger是會(huì)出現(xiàn)報(bào)錯(cuò)的處理解決方法,文中有詳細(xì)的解決過(guò)程,感興趣的小伙伴可以跟著小編一起來(lái)學(xué)習(xí)吧2023-06-06Java使用dom4j實(shí)現(xiàn)對(duì)xml簡(jiǎn)單的增刪改查操作示例
這篇文章主要介紹了Java使用dom4j實(shí)現(xiàn)對(duì)xml簡(jiǎn)單的增刪改查操作,結(jié)合實(shí)例形式詳細(xì)分析了Java使用dom4j實(shí)現(xiàn)對(duì)xml簡(jiǎn)單的增刪改查基本操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2020-05-05JavaWeb Refresh響應(yīng)頭代碼實(shí)例詳解
這篇文章主要介紹了JavaWeb Refresh響應(yīng)頭代碼實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02