标题:继承和多态 void报错!!!
只看楼主
hanzhu3366
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:741
专家分:3
注 册:2007-10-12
结帖率:100%
 问题点数:0 回复次数:16 
继承和多态 void报错!!!
程序代码:
package haha_111;

public class Point {
    protected double x;
    protected double y;

    public Point(double x, double y) {
        this.x = x;
        this.y = y;
    }

    public Point() {
        x = y = 0;
    }

    public double getX() {
        return x;
    }

    public void setX(double x) {
        this.x = x;
    }

    public double getY() {
        return y;
    }

    public void setY(double y) {
        this.y = y;
    }
}


public class Circle extends Point {
    protected double r;

    public Circle(double x, double y, double r) {
        super(x, y);
        this.r = r;
    }

    public Circle() {
        super();
        r = 0;
    }

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

    public double getR() {
        return r;
    }

    public void setR(double r) {
        this.r = r;
    }
}


public class Cylinder extends Circle {
    protected double h;

    public Cylinder(double x, double y, double r, double h) {
        super(x, y, r);
        this.h = h;
    }

    public Cylinder() {
        super();
        h = 0;
    }

    public double volume() {
        return area() * h;
    }

    public double getH() {
        return h;
    }

    public void setH(double h) {
        this.h = h;
    }
}


public static void main(String[] args) {
    Cylinder c1 = new Cylinder();
    Cylinder c2 = new Cylinder(1, 2, 3, 4);
    System.out.println("c1(" + c1.getX() + "," + c1.getY() + "):r=" +
                       c1.getR() + ",h=" + c1.getH() + ",volume=" +
                       c1.volume());
    System.out.println("c2(" + c2.getX() + "," + c2.getY() + "):r=" +
                       c2.getR() + ",h=" + c2.getH() + ",volume=" +
                       c2.volume());

}


一般初学者在继承和多态时候都会遇见这个题目的,程序运行报错

错误信息:"Point.java": 'class' or 'interface' expected at line 88, column 15


请高手指点!  谢谢!

[[it] 本帖最后由 hanzhu3366 于 2008-5-21 00:41 编辑 [/it]]
搜索更多相关主题的帖子: void 多态 double public Point 
2008-05-20 23:51
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
得分:0 
为什么有那么多public class啊?

I'm here, as always...
2008-05-21 09:11
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
只有继承没有多态。。没有同名函数
class Point {
    protected double x;
    protected double y;

    public Point(double x, double y) {
        this.x = x;
        this.y = y;
    }

    public Point() {
        x = y = 0;
    }

    public double getX() {
        return x;
    }

    public void setX(double x) {
        this.x = x;
    }

    public double getY() {
        return y;
    }

    public void setY(double y) {
        this.y = y;
    }
}


 class Circle extends Point {
    protected double r;

    public Circle(double x, double y, double r) {
        super(x, y);
        this.r = r;
    }

    public Circle() {
        super();
        r = 0;
    }

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

    public double getR() {
        return r;
    }

    public void setR(double r) {
        this.r = r;
    }
}


 class Cylinder extends Circle {
    protected double h;

    public Cylinder(double x, double y, double r, double h) {
        super(x, y, r);
        this.h = h;
    }

    public Cylinder() {
        super();
        h = 0;
    }

    public double volume() {
        return area() * h;
    }

    public double getH() {
        return h;
    }

    public void setH(double h) {
        this.h = h;
    }
}

class demo{

public static void main(String[] args) {
    Cylinder c1 = new Cylinder();
    Cylinder c2 = new Cylinder(1, 2, 3, 4);
    System.out.println("c1(" + c1.getX() + "," + c1.getY() + "):r=" +
                       c1.getR() + ",h=" + c1.getH() + ",volume=" +
                       c1.volume());
    System.out.println("c2(" + c2.getX() + "," + c2.getY() + "):r=" +
                       c2.getR() + ",h=" + c2.getH() + ",volume=" +
                       c2.volume());

}
}

学习需要安静。。海盗要重新来过。。
2008-05-21 09:48
Ethip
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:771
专家分:0
注 册:2008-1-18
得分:0 
回复 1# 的帖子
难受中ing...
你不是帮别人写作业吧?这个貌似是群里提的问题...
2008-05-21 13:48
hanzhu3366
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:741
专家分:3
注 册:2007-10-12
得分:0 
回复 4# 的帖子
这是一道作业题目! 但我对类的封装和多态了解不够透彻~~

偶滴淘宝小店,主要经营女装、男装、话费充值哦http://hanzhu3366.taobao. com
2008-05-21 17:34
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
子类父类同名方法的应用。。因为java不像c++,都是引用。。当把子类对象赋给父类引用的时候都是子类覆盖父类方法。。抽象类是在一般基础上的扩展,它只能声明引用不能实例,但是由于是单继承概念的限制,所以提供接口。。

学习需要安静。。海盗要重新来过。。
2008-05-21 18:00
hanzhu3366
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:741
专家分:3
注 册:2007-10-12
得分:0 
回复 6# 的帖子
谢谢,我们现在只开了java,如果带着看c++,两门语言一起学,效率是不是强一些啊!?

偶滴淘宝小店,主要经营女装、男装、话费充值哦http://hanzhu3366.taobao. com
2008-05-21 21:35
Ethip
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:771
专家分:0
注 册:2008-1-18
得分:0 
回复 7# 的帖子
效果肯定不好,等java入门后,稍微精通了,再去了解C++吧!不过等你精通java了,估计你是不会去看C++的!
2008-05-21 23:06
Ethip
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:771
专家分:0
注 册:2008-1-18
得分:0 
回复 6# 的帖子
貌似你还没有和hanzhu3366加为好友啊,或者他没有加你?
我已经把你们俩都“收编”啦,两位也在私底下“活动活动”啊!
呵呵,
希望和二位结盟!
2008-05-21 23:09
hanzhu3366
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:741
专家分:3
注 册:2007-10-12
得分:0 
大意了
java.lang.NoSuchMethodError: main
Exception in thread "main"

编译通过,运行报错!  在网上查的几种可能;
1、文件名定义有问题
2、没有主函数
3、环境变量设置问题!

......

呵呵,刚刚找出来了,文件名定义有点问题!

[[it] 本帖最后由 hanzhu3366 于 2008-5-22 00:59 编辑 [/it]]

偶滴淘宝小店,主要经营女装、男装、话费充值哦http://hanzhu3366.taobao. com
2008-05-22 00:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-215337-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.510847 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved