Ⅰ 用java定义一个形状类Shape
publicabstractclass Shape {
publicabstractvoid area();
}
class Circle extends Shape {
privatedoubleradius;
privatedoubleS;
Circle(double radius) {
this.radius = radius;
}
publicvoid area() {
S = 3.14 * radius * radius;
System.out.println(S);
}
}
class Rect extends Shape {
privatedoublelength;
privatedoublewidth;
privatedoubleS;
Rect(double length,double width) {
this.length = length;
this.width = width;
}
publicvoid area() {
S = length * width;
System.out.println(S);
}
}
class Test {
publicstaticvoid main(String[] args) {
Circle a = new Circle(3);
a.area();
Rect b = new Rect(3,4);
b.area();
}
}
Ⅱ 编写一个完整的Java Application 程序
在Java中,编写一个完整的应用程序通常涉及定义类、接口以及实现这些接口的方法。这里,我们通过一个简单的例子来展示如何创建多个类,每个类负责一个具体的形状,并实现一个计算面积和周长的接口。
首先,我们定义一个父类`Shape`,它包含形状的名称和颜色属性。这些属性将被子类继承。
class Shape { private String name; private String color; }
接着,我们定义一个接口`IshapeCalculate`,要求实现类提供计算面积和周长的方法。
interface IshapeCalculate { public double getArea(); public double getPerimeter(); }
然后,我们创建一个`Rectangle`类,继承自`Shape`并实现`IshapeCalculate`接口。这个类有两个属性,宽和高,以及相应的构造函数和实现接口的方法。
class Rectangle extends Shape implements IshapeCalculate { private double width; private double height; public Rectangle(double w, double h) { this.width = w; this.height = h; } @Override public double getArea() { return width * height; } @Override public double getPerimeter() { return 2 * (width + height); } public String toString() { return "矩形width=" + width + ",height=" + height + ",perimeter=" + getPerimeter() + ",area=" + getArea(); } }
接下来,我们创建一个`Triangle`类,同样继承自`Shape`并实现`IshapeCalculate`接口。这个类有三个属性,表示三角形的三条边,以及相应的构造函数和实现接口的方法。
class Triangle extends Shape implements IshapeCalculate { private double x; private double y; private double z; private double s; public Triangle(double x, double y, double z) { this.x = x; this.y = y; this.z = z; s = (x + y + z) / 2; } @Override public double getArea() { return Math.sqrt(s * (s - x) * (s - y) * (s - z)); } @Override public double getPerimeter() { return x + y + z; } public String toString() { return "三角形threesides:" + x + "," + y + "," + z + ",perimeter=" + getPerimeter() + ",area=" + getArea(); } }
最后,我们创建一个`Circle`类,继承自`Shape`并实现`IshapeCalculate`接口。这个类有一个属性,表示圆的半径,以及相应的构造函数和实现接口的方法。
class Circle extends Shape implements IshapeCalculate { private double radius; public Circle(double radius) { this.radius = radius; } @Override public double getArea() { return Math.PI * Math.pow(radius, 2); } @Override public double getPerimeter() { return 2 * 3.1415926 * radius; } public String toString() { return "圆形radius=" + radius + ",perimeter=" + getPerimeter() + ",area=" + getArea(); } }
在`Test`类中,我们创建了上述类的实例,并调用它们的`toString`方法来输出形状的描述信息。
public class Test { public static void main(String args[]) { Rectangle rectangle = new Rectangle(1, 2); System.out.println(rectangle); Triangle triangle = new Triangle(3, 4, 5); System.out.println(triangle); Circle circle = new Circle(1); System.out.println(circle); } }
Ⅲ 1.求解用java写(如三角形,矩型,圆)的的周长,面积,要求用到继承,多态,抽象类,接口,内部类等。
//抽象的形状类
public abstract class Shape{ }
//接口
public interface IDisplay{
void display(); //显示图形的基本信息
double getArea(); //计算面积
double getGirth(); //计算周长
}
//三角形类
public class Triangle extends Shape implements IDisplay{
protected double a;
protected double b;
protected double c;
public Triangle(double a, double b, double c){
this.a = a; this.b = b; this.c = c;
}
@Override public double getArea() {
double s = (a + b + c) / 2;
return Math.sqrt(s*(s-a)*(s-b)*(s-c));
}
@Override public double getGirth() {
return this.a + this.b + this.c;
}
@Override public void display() {
System.out.println("三角形");
System.out.println("边长:" + a + ", " + b + ", " + c);
}
}
//矩形类
public class Rectangle extends Shape implements IDisplay {
protected double width; protected double height;
public Rectangle(double width, double height){
this.width = width;
this.height = height;
}
@Override public double getArea() {
return this.width * this.height;
}
@Override public double getGirth() {
return 2 * ( this.width + this.height);
}
@Override public void display() {
System.out.println("矩形");
System.out.println("宽:" + this.width + ", 高:" + this.height);
}
}
//圆类
public class Circle extends Shape implements IDisplay {
protected double radius;
public Circle(double radius){
this.radius = radius;
}
@Override public double getArea() {
return Math.PI * this.radius * this.radius;
}
@Override public double getGirth() {
return 2 * Math.PI * this.radius;
}
@Override public void display() {
System.out.println("圆");
System.out.println("半径:" + this.radius);
}
}
Ⅳ 用java编写类Circle、Square、和Rectangle,实现上述接口,用于计算圆、正方形、长方形面积
在Java编程中,定义了一个接口Shape,它包含一个方法area,用于计算形状的面积。同时,创建了三个类:Circle、Square和Rectangle,分别实现这个接口,用于计算圆、正方形和长方形的面积。
首先定义接口Shape:
public interface Shape { double pi=3.14; double area(); }
接着创建Circle类,实现Shape接口:
public class Circle implements Shape { private double radius; public Circle(double radius) { this.radius=radius; } public double area() { double area; area=pi*radius*radius; System.out.println("area="+area); return area; } }
在Circle类中,构造方法接受一个参数radius,用于初始化圆的半径。然后,area()方法计算圆的面积,并打印结果。
接下来是Square类,同样实现Shape接口:
public class Square implements Shape { private double length; public Square(double length) { this.length=length; } public double area() { double area; area=length*length; System.out.println("area="+area); return area; } }
Square类的构造方法接收一个参数length,用于初始化正方形的边长。同样,area()方法计算正方形的面积,并打印结果。
最后是Rectangle类,也实现Shape接口:
public class Rectangle implements Shape { private double length; private double width; public Rectangle(double length,double width) { this.length=length; this.width=width; } public double area() { double area; area=length*width; System.out.println("area="+area); return area; } }
Rectangle类的构造方法接受两个参数length和width,分别用于初始化长方形的长和宽。同样,area()方法计算长方形的面积,并打印结果。
以上代码中,每个类都包含了实现Shape接口的方法area(),用于计算并返回各自形状的面积。在主方法中,通过创建相应类的实例并调用area()方法,可以计算并输出不同形状的面积。