關(guān)于Java Interface接口的簡(jiǎn)單練習(xí)題
本文轉(zhuǎn)自微信公眾號(hào):"算法與編程之美"
一、問(wèn)題描述
1) 定義接口Printx,其中包括一個(gè)方法printMyWay() ,這個(gè)方法沒(méi)有形參,返回值為空。
2) 編寫(xiě)矩形類Rectangle,矩形類要求實(shí)現(xiàn)Printx接口,有求面積、求周長(zhǎng)的方法,printMyWay()方法要能顯示矩形的邊長(zhǎng)、面積和周長(zhǎng)。
3) 編寫(xiě)正方形類作為矩形類的子類,正方形類繼承了矩形類求面積和周長(zhǎng)的方法,新增加求對(duì)角線長(zhǎng)的方法,重寫(xiě)printMyWay()方法,要求該方法能顯示正方形的邊長(zhǎng)、面積、周長(zhǎng)和對(duì)角線長(zhǎng)。
二、解決方案
對(duì)于本題的解法,需要先了解Java的接口知識(shí),官方給出的解釋是:官方解釋:Java接口是一系列方法的聲明,是一些方法特征的集合,一個(gè)接口只有方法的特征沒(méi)有方法的實(shí)現(xiàn),因此這些方法可以在不同的地方被不同的類實(shí)現(xiàn),而這些實(shí)現(xiàn)可以具有不同的行為(功能)。接口可以擁有方法與屬性也可以繼承類的屬性,可以與類鏈接,算是比較特殊的類,但是接口中的方法又都是抽象的,不能單獨(dú)進(jìn)行實(shí)例化,需要與類調(diào)用結(jié)合。本題先定義一個(gè)接口' Interface ',(注意新建接口時(shí),命名前都要加大寫(xiě)的'I')再在接口中使用方法'printMyWay',注意要使用void方法;然后再建立一個(gè)新的Java的類,Rectangle,建立Squera的類時(shí)要注意對(duì)父類的繼承' extend',然后使用' implements'接入接口,再根據(jù)提議定義長(zhǎng)寬,面積和周長(zhǎng),對(duì)定義的數(shù)據(jù)實(shí)例化,最后使用main進(jìn)入Java程序,獲得面積與周長(zhǎng)。
三、代碼清單
Interface接口:
package cn.edu.sctu.java20.homework.Printx;
public interface IPrintx {
void printMyWay();
}
Rectangle的類:
package cn.edu.sctu.java20.homework.Printx;
public class Rectangle implements IPrintx{
double width;
double length;
double perimeter;
double area;
public void SetLength(double width1,double length1){//傳參
this.width = width1;
this.length = length1;
}
double getArea(){
area = length*width;
return area;
}
double getPerimeter(){
perimeter = length*2+width*2;
return perimeter;
}
@Override
public void printMyWay(){
System.out.println("長(zhǎng)為:"+length+"寬為:"+width+"周長(zhǎng)為:"+perimeter+"面積為:"+area);
};
public static void main(String[] args) {
Rectangle rectangle = new Rectangle();
rectangle.SetLength(6,4);
rectangle.getArea();
rectangle.getPerimeter();
rectangle.printMyWay();
}
}
Square
package cn.edu.sctu.java20.homework.Printx;
public class Square extends Rectangle {//繼承Rectangle的屬性與方法
double diagonal;
public void setDiagonal(double diagonal1){
this.diagonal = diagonal1;
}
double getDiagonal(){
diagonal = Math.sqrt(width*width + length*length);
return diagonal;
}
@Override
public void printMyWay(){
System.out.println("長(zhǎng)為:"+length+"寬為:"+width+"周長(zhǎng)為:"+perimeter+"面積為:"+area+"對(duì)角線為:"+diagonal);
};
public static void main(String[] args) {
Square square = new Square();
square.SetLength(6,6);
square.getDiagonal();
square.getArea();
square.getPerimeter();
square.printMyWay();
}
}
到此這篇關(guān)于關(guān)于Java Interface接口的簡(jiǎn)單練習(xí)題的文章就介紹到這了,更多相關(guān)Java Interface接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java對(duì)象的XML序列化與反序列化實(shí)例解析
這篇文章主要介紹了Java對(duì)象的XML序列化與反序列化實(shí)例解析,小編覺(jué)得還是挺不錯(cuò)的,這里分享給大家。2017-10-10
Java設(shè)計(jì)模式以虹貓藍(lán)兔的故事講解代理模式
代理模式是Java常見(jiàn)的設(shè)計(jì)模式之一。所謂代理模式是指客戶端并不直接調(diào)用實(shí)際的對(duì)象,而是通過(guò)調(diào)用代理,來(lái)間接的調(diào)用實(shí)際的對(duì)象2022-04-04
Java實(shí)現(xiàn)ATM系統(tǒng)超全面步驟解讀建議收藏
這篇文章主要為大家詳細(xì)介紹了用Java實(shí)現(xiàn)簡(jiǎn)單ATM機(jī)功能,文中實(shí)現(xiàn)流程寫(xiě)的非常清晰全面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
spring mvc @PathVariable綁定URI模板變量值方式
這篇文章主要介紹了spring mvc @PathVariable綁定URI模板變量值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
解決SpringMVC使用@RequestBody注解報(bào)400錯(cuò)誤的問(wèn)題
這篇文章主要介紹了解決SpringMVC使用@RequestBody注解報(bào)400錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
Java中過(guò)濾器、監(jiān)聽(tīng)器和攔截器的區(qū)別詳解
這篇文章主要介紹了Java中過(guò)濾器、監(jiān)聽(tīng)器和攔截器的區(qū)別詳解,有些朋友可能不了解過(guò)濾器、監(jiān)聽(tīng)器和攔截器的區(qū)別,本文就來(lái)詳細(xì)講一下,相信看完你會(huì)有所收獲,需要的朋友可以參考下2024-01-01
java 可重啟線程及線程池類的設(shè)計(jì)(詳解)
下面小編就為大家?guī)?lái)一篇java 可重啟線程及線程池類的設(shè)計(jì)(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01

