在java中,定义一个接口,声明计算长方形面积和周长的抽象方法,如题。
//Shape.java
public interface Shape{
public double calarea();
}
//Rectangle.java
public class Rectangle implements Shape{
private double length;
private double high;
public Rectangle(double length,double high){
this.length = length;
this.high = high;
}
public double calarea(){
return length*high;
}
}
//Circle Circle.java
public class Circle implements Shape{
private double radius;
public double calarea(){
return Math.PI*radius*radius;
}
public Circle(double radius){
this.radius = radius;
}
}
//Test.java
public class Test{
public static void main(String []args){
Shape recShape = new Rectangle(2.7,4.8);
Shape cirShape = new Circle(5.0);
System.out.println(recShape.calarea());
System.out.println(cirShape.calarea());
}
}
直接手写的,辛苦吧
public abstract class Shape { public abstract double getArea(); public abstract double getLength();} public class Circle extends Shape { private double dRadius; public Circle(double r) { this.dRadius = r; } @Override public double getArea() { return dRadius * Math.PI * Math.PI; } @Override public double getLength() { return 2 * dRadius * Math.PI; } public void printString() { System.out.println("我是圆形!我的半径是:" + this.dRadius); } public void printArea() { System.out.println("圆的面积:" + getArea()); } public void printLength() { System.out.println("圆的周长:" + getLength()); }}public class Rectangle extends Shape { private double length; private double width; public Circle(double l,double w,) { this.length= l; this.width= w; } @Override public double getArea() { return length * width; } @Override public double getLength() { return 2 *(length + width); } public void printString() { System.out.println("我是长方形!我的长是:" + this.length+",我的宽是:"+width); } public void printArea() { System.out.println("长方形的面积:" + getArea()); } public void printLength() { System.out.println("长方形的周长:" + getLength()); }}public class Test{ public static void main(String[] args) { Circle circle = new Circle(2d); circle.printString(); circle.printArea(); circle.printLength(); Rectangle rectangle = new Rectangle (2d,3d); rectangle.printString(); rectangle.printArea(); rectangle.printLength(); }}
//呵呵,我也是刚刚才学这个OOP程设计的//规划的不当,就不要见怪咯,我只是按照我的思想分析
//首先用面向对象的语方分析问题,这里有三个对象
//客户端是一个对象
//计算面积和周长是一个对象
//长方形是一个对象
public class Client{
public static void main(String []args){
ICalculate cal=new Calculate();
MyRectangle rect=new MyRectangle(10,5);
System.out.println(rect+"周长为:"+cal.calcuGirth(rect));
System.out.println(rect+"面积为:"+cal.calcuArea(rect));
rect=new MyRectangle(30,50);
System.out.println(rect+"周长为:"+cal.calcuGirth(rect));
System.out.println(rect+"面积为:"+cal.calcuArea(rect));
}
}
interface ICalculate{
int calcuArea(MyRectangle rect);
int calcuGirth(MyRectangle rect);
}
class Calculate implements ICalculate{
//计算面积的方法
public int calcuArea(MyRectangle rect){
int result=rect.getWidth()*rect.getHeight();
return result;
}
//计算周长的方法
public int calcuGirth(MyRectangle rect){
int result=(rect.getWidth()+rect.getHeight())*2;
return result;
}
}
class MyRectangle{
private int width;
private int height;
public MyRectangle(int width ,int height){
this.width=width;
this.height=height;
}
public int getWidth(){
return width;
}
public void setWidth(int width){
this.width=width;
}
public void setHeight(int height){
this.height=height;
}
public int getHeight(){
return height;
}
public String toString(){
return super.toString()+"[width="+width+",height="+height+"]";
}
}
class InterfaceTestEntry implements CalArea
{
public static void main(String[] args)
{
InterfaceTestEntry myrectangle=new InterfaceTestEntry();
System.out.print(myrectangle.RectangleArea(10,5));
}
public int RectangleArea(int width ,int height)
{
return width*height;
}
}
interface CalArea
{
public int RectangleArea(int width ,int height);
}
保存为InterfaceTestEntry.java
java程序题:定义一个抽象类-水果,其中包括getWeight()方法,编写程序分别...
水果类 abstract public class Fruit {abstract public double getWeight();} 苹果类 public class Apple extends Fruit {private double weight;public Apple(double weight) {this.weight = weight;}@Overridepublic double getWeight() {return weight;}} 橘子类 public class Orange extends Fruit {p...
在java中如何在文件夹中定义一个类?
1. 创建一个文件夹,用于存放 Java 类的 .java 文件。2. 在该文件夹中创建一个名为 `MyClass.java` 的文件。3. 打开 `MyClass.java` 文件,并添加以下代码来定义 `MyClass` 类:```public class MyClass { \/\/ 类的成员变量和方法 } ```4. 在 `MyClass` 类中添加需要的成员变量和方...
JAVA的一个问题,定义一个长方形类,在类中定义两个成员属性分别为长和...
int height) {this.width = width;this.height = height;}public void printRectangle() {System.out.println("width = " + width + ", height = " + height);}}public class Test{public static void main(String[] args) {Rectangle rect1 = new Rectangle(100, ...
java中,定义了一个类Dog,Dog类有String类型的name属性; 在同包中定...
这段代码里你犯了一个极其严重的Java规范错误,那就是在变量声明区直接对变量进行非声明工作。变量声明区,就是你除函数之外的任何地方,在这里你只能声明变量,比如Dog m = new Dog();而不能在这里对这个变量进行数据操作,比如你的代码中m.name="ssss";这样的事情,这种数据操作只能放在函数中进...
请用Java+IDE软件平台定义一个int类型的变量,初始化值为123456,求这个...
在Java中,可以使用IDE软件平台(如Eclipse、IntelliJ IDEA等)来定义一个int类型的变量,并初始化值为123456。然后可以使用求余运算符(%)来计算这个数的个位数。下面是一个示例代码:javaCopy codepublic class Main { public static void main(String[] args) { int number = 123456; \/\/ ...
java中定义了一个类,其中有一个对象 数组,如何比较其中任意两个对象的...
if ((!(o1 instanceof Comparable)) || (!(o2 instanceof Comparable))) { throw new Exception("非基础类型无法比较!");} Comparable c1 = (Comparable) o1;Comparable c2 = (Comparable) o2;int iR = c1.compareTo(c2);switch (iR) { case 1:switch (compareMark) { case AAB:case ...
java中,定义了一个静态类,并且里面有一个构造方法,可不可被new出来?
静态类,一般不用NEW出来,都是直接可以调用的,类似全局性质,除非程序给彻底终止该类才会失效。
JAVA编程题,定义一个类A,类中有一个private的整型变量data,一个priva...
public class A { private int data;private String str;public A(){ data = 0;str = "";} public A(int data,String str){ this.data = data;this.str = str;} public void add(int k,String s){ this.data+=k;this.str+=s;} public void clear(){ this.data = 0;this.str ...
java中,定义了一个接口,接着创建一个类去实现接口。
因为接口本来就是一个为了实现多态而存在的,可以说是所有实现这个接口的类的共同点。你在通过接口调用某个实现了该接口的类对象的时候根本就不知道调用了哪个类实现的对象,如果接口可以不必完全实现全部接口方法。那么有一个类没有实现该方法,但是通过调用接口而调用了这个类的对象,又调用了没有被实现...
java定义一个圆类用来表示二维空间中的一个圆,包括了圆心坐标和半径_百 ...
return d < radius * radius ? PosRelation.INSIDE_CIRCLE : (d > radius * radius ? PosRelation.OUTSIDE_CIRCLE : PosRelation.ON_CIRCLE); } private double centerX, centerY, radius; public static void main(String []args) { Circle c = new Circle(4, 5,...
郅褚小儿: //呵呵,我也是刚刚才学这个OOP程设计的 //规划的不当,就不要见怪咯,我只是按照我的思想分析 //首先用面向对象的语方分析问题,这里有三个对象 //客户端是一个对象 //计算面积和周长是一个对象 //长方形是一个对象 public class Client{...
江川县17813859311: java中接口的实现方式有哪些 - ?
郅褚小儿: 类继承这个接口(extends),并重写需要实现的方法 类实现这个接口(implements),也是重写需要实现的方法 还有接口继承接口...
江川县17813859311: 用java定义一个图形接口,声明计算图形面积和周长的抽象方法,再设计圆类和长方形类去实现这个接口 - ?
郅褚小儿: 设这个矩形的宽是x厘米,那么有关系式2x²=72, x=6,那么这个矩形的长为12厘米, 所以这个长方形的周长是2*(12+6)=36厘米.
江川县17813859311: java中如何实现接口以及接口中需要注意的 - ?
郅褚小儿: 首先用interface声明一个接口,注意接口不是类,我们习惯上可以认为他是一个抽象的类,因为它不能实现方法体,只有方法的定义.然后我们可以写一个类去实现这个接口例如:public class Text implements IUSBable 这样就说明你的这个类中还实现你接口中说定义的方法,不然会报错的! 我的概念就是接口类似于生活中的水龙头,只要你这个人有实现这个接口(水龙头)的方法,那么你就可以用这个水龙头,这个比喻虽然不是那么这样从另一方面说明了接口拥有的可扩展性,假如以后程序升级我只要将接口中的方法增加或修改一下! 这种概念性的东西是要自己多体会的,最好联系生活中的实例来理解,这样会事半工倍!
江川县17813859311: Java中 声明一个接口lion,接口中定义一个int型常量num(值为10)和一个 - ?
郅褚小儿: lion接口:12345 publicinterfacelion { publicintnum = 10;publicintget(); } 接口实现类loim:12345 publicclassloim implementslion { publicintget() { 专returnnum; } } 测试类:123456 publicclassTest { publicstaticvoidmain(String[] args) { loim loim = newloim(); System.out.println(loim.get()); } } 测试结果:10
江川县17813859311: 用JAVA做一道接口的题 要详细步骤 - ?
郅褚小儿: //接口 interface RetangularInter{ public double getArea(double a,double b); } //实现 class RetangularImpl implements RetangularInter{ public double getArea(double a, double b) { return a*b; } } //testing public class RetangularTest{ public static void ...
江川县17813859311: 怎么定义一个接口 - ?
郅褚小儿: interface Operator{ add(Slave s); del(Slave s); }
江川县17813859311: 用Java设计一个接口,声明有关算术运行的方法,并创建四个应用该接口的类,分别进行加减乘除四则运算 - ?
郅褚小儿: 楼主设计不好,就创建一个类实现这个接口,然后实现四则运算就可以了,何必要四个类.add, subtract, multiply and divide 方法中参数楼主自己确定,我默认传两个int类型,返回int类型 Interface operator{ public int add(int num1,int num2); ...
江川县17813859311: java怎样定义接口 - ?
郅褚小儿: 例如,定义一个用于计算的接口,在该接口中定义了一个常量PI和两个方法,具体代码如下:[java] view plaincopy public interface CalInterface {final float PI=3.14159f;//定义用于表示圆周率的常量PIfloat getArea(float r);//定义一个用于计算面...
江川县17813859311: Java中什么是接口回调? - ?
郅褚小儿: 什么是接口回调?1.接口回调是什么[2]?接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法.实际上,当接口变量调用被类实现的接口中的方法时,就是通...