关于Java Interface接口的简单练习题

网友投稿 275 2022-09-14


关于Java Interface接口的简单练习题

目录一、问题描述二、解决方案三、代码清单

一、问题描述

1) 定义接口Printx,其中包括一个方法printMyWay() ,这个方法没有形参,返回值为空。

2)vpgwEfY 编写矩形类Rectangle,矩形类要求实现Printx接口,有求面积、求周长的方法,printMyWay()方法要能显示矩形的边长、面积和周长。

3) 编写正方形类作为矩形类的子类,正方形类继承了矩形类求面积和周长的方法,新增加求对角线长的方法,重写printMyWay()方法,要求该方法能显示正方形的边长、面积、周长和对角线长。

二、解决方案

对于本题的解法,需要先了解java的接口知识,官方给出的解释是:官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。接口可以拥有方法与属性也可以继承类的属性,可以与类链接,算是比较特殊的类,但是接口中的方法又都是抽象的,不能单独进行实例化,需要与类调用结合。本题先定义一个接口' Interface ',(注意新建接口时,命名前都要加大写的'I')再在接口中使用方法'printMyWay',注意要使用void方法;然后再建立一个新的Java的类,Rectangle,建立Squera的类时要注意对父类的继承' extend',然后使用' implements'接入接口,再根据提议定义长宽,面积和周长,对定义的数据实例化,最后使用main进入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;

}

@Override

public 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();

}

}

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("长为:"+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();

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:运用网络管理工具主动纠错
下一篇:防火墙配置(防火墙配置安全策略)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~