编写java程序,程序中定义一个抽象类Area、两个Area类的派生子类RectArea类和RoundArea类、以及实现类Impl

以及实现类ImpleArea类。要求1、抽象类Area类中只包含一个抽象方法:double area
2、子类RoundArea类通过覆盖父类中的抽象方法area来求圆的面积,另一个子类RectArea类通过覆盖父类中的抽象方法area求长方形的面积
3、圆的半径和长方形的边分别定义为子类RoundArea类和RectArea类的域,都为double类型
4、ImpleArea类中接收键盘输入,输入内容分别为长方形的边和圆的半径,求出长方形和圆的面积,并在屏幕伤感显示

第1个回答  2011-04-11
abstract class Area{
abstract double area();
}

//矩形面积类
class RectArea extends Area{
private double width; //宽
private double height; //高

public RectArea(){
}

public RectArea(double width, double height){
this.width = width;
this.height = height;
}

public double area() {
return this.width * this.height;
}

public double getWidth(){
return this.width;
}

public void setWidth(double width){
this.width = width;
}

public double getHeight(){
return this.height;
}

public void setHeight(double height){
this.height = height;
}
}

//圆面积类
class RoundArea extends Area{
private double radius; //半径

public RoundArea(){
}

public RoundArea(double radius){
this.radius = radius;
}

public double area() {
return Math.PI * this.radius * this.radius;
}

public double getRadius(){
return this.radius;
}

public void setRadius(double radius){
this.radius = radius;
}
}

class ImpleArea{
public void displayArea(){
Scanner scan = new Scanner(System.in);
Area a;

a = new RectArea();
System.out.print("矩形的宽:");
((RectArea)a).setWidth(scan.nextDouble());
System.out.print("矩形的高:");
((RectArea)a).setHeight(scan.nextDouble());
System.out.println("矩形的面积:" + a.area());

a = new RoundArea();
System.out.print("圆的半径:");
((RoundArea)a).setRadius(scan.nextDouble());
System.out.println("圆的面积:" + a.area());
}
}

public class Test {
public static void main(String[] args) {
ImpleArea impl = new ImpleArea();
impl.displayArea();
}
}
第2个回答  2011-04-11
像这种简单的程序,你们的课本上应该有吧,如果我们帮你写出来,感觉没多大的意义哦,我记得这个求面积的例子,课本上是有的,自己好好的研究下应该就可以写出来这个程序了,java其实是个很有趣的语言,你只要认真去分析下,你会觉得java太容易了!
好好的了解下java类和接口的定义,继承类,还有java.io,要相信自己哦!~追问

恩,谢谢啊,我会继续努力的哦

追答

恩,你可以自己先研究下,如果有麻烦再说出来!

本回答被网友采纳

javaweb是前端还是后端(javaweb是前端还是后端的前景)
前端。javaweb是java开发中的一个方向,java有安卓的、web的、嵌入式的等。javaweb分两块,一块是服务器端叫后端,另一块叫前端,web则是前端。前端是指用户能看到的部分,比如淘宝网、qq空间,网页上能看到的都是web前端做的;而后端做的是为前端的展示业务逻辑功能做处理。java的一些基本含义:1、...

java继承多态和抽象类接口?
(4)继承的单根性:在Java中一个类只能有一个父类;传递性:一个Java类可以父类,父类也可以有父类。(5)所有类的根类:Object类,又叫基类或超类。Object类是每个Java类的父类,要么是直接的父类,要么就是间接的父类。Object类中的三个重要方法:①public boolean equals(Objectx):检测两个对象...

java编程软件怎么用
首先不知道你所谓的下载好了程序不能运行。是什么程序,是楼上的MyEclipse\\eclipse之类,还是上SUN下载的JDK,如果下载的是JDK,你最好去下载一个免费的eclipse,然后在右击“我的电脑”-》属性-》高级-》环境变量 “新建”-》javahome 属性写你的JDK的更目录绝对地址如D:\\serviceandjdk\\jdk\\jdk...

java中类成员的访问修饰符有哪些
2.public访问修饰符 用于说明类和类的成员的访问权限。这种类叫公有类。在一个文件中只能有一个public类型的类。例如:Rect和UseImport两个类,分别在两个不同的包中。顺便回顾一下不同类要用import导入。(哎,一直就没记住)\/\/Rect.java pacakage my;public class Rect { private int a,b;pub...

关于MVC模式请大家说下,让我了解下~?JAVA
在J2EE模式目录中,通常采用service to worker模式实现,而service to worker模式可由集中控制器模式,派遣器模式和Page Helper模式组成。而Struts只实现了MVC的View和Controller两个部分,Model部分需要开发者自己来实现,Struts提供了抽象类Action使开发者能将Model应用于Struts框架中。 MVC模式是一个复杂的架构模式,其实现也...

JAVA程序设计课程作业,请高手帮忙啊
1.A java只支持单继承 2.A 高级的异常类放前面,后面的将无用 3.A 浮点数也可以 4.B 5.A 区分 6.A 抽象类不一定要有抽象方法 7.B 都转为数据类型最大的那个类型再运算 8.A 这个表述=。=其实参数类型和个数都相同的情况下,还可以根据参数的排列来区别方法 9.A String不可变字符串!10...

java问题,帮忙回答下,谢了
1错,新对象需要用new关键字如果用=表示改变指针的引用。2错,所有类都继承了基类object如果不写构造方法则会继承object的构造方法。3错,抽象类也可包含非抽象方法。4对;5错;6错;7对;8对;9错,如果将异常捕获,该方法可以继续执行 10对;11对;12错, Vector 可以将简单类型自动转换成其封装类。...

java基础考试题及答案
22 .一个线程对象的具体操作是由 run() 方法的内容确定的,但是 Thread 类的 run() 方法是空的 , 其中没有内容 ; 所以用户程序要么派生一个 Thread 的子类并在子类里重新定义 run() 方法 , 要么使一个类实现 Runnable 接口并书写其中 run() 方法的方法体。23 . Java 的源代码中定义几个类...

java到底是什么?
抽象类:规定一个或多个抽象方法的类别本身必须定义为abstract,抽象类只是用来派生子类,而不能用它来创建对象。final类:又称“最终类”,它只能用来创建对象,而不能被继承,与抽象类刚好相反,而且抽象类与最终类不能同时修饰同一个类。包:Java中的包是相关类和接口的集合,创建包须使用关键字...

java相关网络协议可以关掉吗
●Java应用程序接口(Java API)。基本含义 抽象类:规定一个或多个抽象方法的类别本身必须定义为abstract,抽象类只是用来派生子类,而不能用它来创建对象。final类:又称“最终类”,它只能用来创建对象,而不能被继承,与抽象类刚好相反,而且抽象类与最终类不能同时修饰同一个类。包:Java中的包是...

相似回答