java 新手关于抽象类程序
答案:5 悬赏:0 手机版
解决时间 2021-01-15 06:22
- 提问者网友:那叫心脏的地方装的都是你
- 2021-01-14 13:56
java 新手关于抽象类程序
最佳答案
- 五星知识达人网友:痴妹与他
- 2021-01-14 15:07
首先说明,你的用法没问题,是什么问题呢?修改后的代码我调试好了,你看看:
import javax.swing.JOptionPane;
abstract class Area {
public abstract double area();
}
class RoundArea extends Area {
double radius;
RoundArea(double a) {
radius = a;
}
public double area() {
return 3.14159 * radius * radius;
}
}
class RectArea extends Area {
double chang, kuan;
RectArea(double a, double b) {
chang = a;
kuan = b;
}
public double area() {
return chang * kuan;
}
}
public class ImpleArea {
public static void main(String args[]) {
String c = JOptionPane.showInputDialog(null, "请输入长方形的长:");
double d = Double.parseDouble(c);
String e = JOptionPane.showInputDialog(null, "请输入长方形的宽:");
double f = Double.parseDouble(e);
RectArea R2 = new RectArea(d, f);
System.out.println("长方形的面积是:" + R2.area());
}
}
对于这种计算,一般不要用float型数据,因为你的数据只要带有小数点,很多情况下就变成double的了,这个没深究,只是记住了。所以,你的代码里跟float相关的我都改成跟double相关的了。解答开头的问题,你的程序其实没问题,只是你太不小心了,在抽象类里面多加了一个“{”,写代码要小心啊,我也是恁了半天才发现。哈哈……
import javax.swing.JOptionPane;
abstract class Area {
public abstract double area();
}
class RoundArea extends Area {
double radius;
RoundArea(double a) {
radius = a;
}
public double area() {
return 3.14159 * radius * radius;
}
}
class RectArea extends Area {
double chang, kuan;
RectArea(double a, double b) {
chang = a;
kuan = b;
}
public double area() {
return chang * kuan;
}
}
public class ImpleArea {
public static void main(String args[]) {
String c = JOptionPane.showInputDialog(null, "请输入长方形的长:");
double d = Double.parseDouble(c);
String e = JOptionPane.showInputDialog(null, "请输入长方形的宽:");
double f = Double.parseDouble(e);
RectArea R2 = new RectArea(d, f);
System.out.println("长方形的面积是:" + R2.area());
}
}
对于这种计算,一般不要用float型数据,因为你的数据只要带有小数点,很多情况下就变成double的了,这个没深究,只是记住了。所以,你的代码里跟float相关的我都改成跟double相关的了。解答开头的问题,你的程序其实没问题,只是你太不小心了,在抽象类里面多加了一个“{”,写代码要小心啊,我也是恁了半天才发现。哈哈……
全部回答
- 1楼网友:煞尾
- 2021-01-14 21:02
继承抽象类的子类,必须重写父类的抽象方法~~而且抽象类不可以事例化对象!
- 2楼网友:空山清雨
- 2021-01-14 19:23
检查两边语法和逻辑上都没问题,然后在Eclipse和命令行下都能运行,估计是你jdK的问题,程序本身没问题的。
至于抽象类啊 ,很简单的,不要把它想复杂了,在程序中你用的就很好啊
至于抽象类啊 ,很简单的,不要把它想复杂了,在程序中你用的就很好啊
- 3楼网友:旧脸谱
- 2021-01-14 18:05
抽象类不能产生对象的,但可以由它的实现类来声明对象。
public abstract void area();
public abstract void area();
- 4楼网友:上分大魔王
- 2021-01-14 16:33
public interface ModelChangedListener extends java.util.EventListener {
void modelChanged(EventObject e);
}
public abstract class Model {
private Vector listeners = new Vector();
public synchronized void addModelChangedListener(ModelChangedListener mcl){
listeners.addElement(mcl);
}
public synchronized void removeModelChangedListener(ModelChangedListener mcl){
listeners.removeElement(mcl);
}
}
void modelChanged(EventObject e);
}
public abstract class Model {
private Vector listeners = new Vector();
public synchronized void addModelChangedListener(ModelChangedListener mcl){
listeners.addElement(mcl);
}
public synchronized void removeModelChangedListener(ModelChangedListener mcl){
listeners.removeElement(mcl);
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯