Java’Interface’接口简单练习题
问题描述1) 定义接口Printx,其中包括一个方法printMyWay(),这个方法没有形参,返回值为空。2) 编写矩形类Rectangle,矩形类要求实现Printx接口,有求面积、求周长的方法,printMyWay()方法要能显示矩形的边长、面积和周长。3) 编写正方形类作为矩形类的子类,正方形类继承了矩形类求面积和周长的方法,新增加求对角线长的方法,重写printMyWay()方法,要求该方法能显示正方形的边长、面积、周长和对角线长。解决方案对于本题的解法,需要先了解Java的接口知识,官方给出的解释是:官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。接口可以拥有方法与属性也可以继承类的属性,可以与类链接,算是比较特殊的类,但是接口中的方法又都是抽象的,不能单独进行实例化,需要与类调用结合。本题先定义一个接口’Interface’,(注意新建接口时,命名前都要加大写的’I’)再在接口中使用方法’printMyWay’,注意要使用void方法;然后再建立一个新的Java的类,Rectangle,建立Squera的类时要注意对父类的继承’extend’,然后使用’implements’接入接口,再根据提议定义长宽,面积和周长,对定义的数据实例化,最后使用main进入Java程序,获得面积与周长。结语这是Java的基础学习的练习,难度不算大,但是要有一个清晰的逻辑建立接口和链接Java类。代码清单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;}@Overridepublic void printMyWay(){System.out.println("长为:"+length+"宽为:"+width+"周长为:"+perimeter+"面积为:"+area);};public static void main(String[] args) {Rectangle rectangle = new Rectangle();rectangle.SetLength(6,4);rectangle.getArea();rectangle.getPerimeter();rectangle.printMyWay();}}Squarepackage 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;}@Overridepublic void printMyWay(){System.out.println("长为:"+length+"宽为:"+width+"周长为:"+perimeter+"面积为:"+area+"对角线为:"+diagonal);};public static void main(String[] args) {Square square = new Square();square.SetLength(6,6);square.getDiagonal();square.getArea();square.getPerimeter();square.printMyWay();}}实习编辑:李欣容稿件来源:深度学习与文旅应用实验室(DLETA)