永发信息网

java继承中被覆盖的方法为什么不能访问?

答案:3  悬赏:0  手机版
解决时间 2021-01-27 13:03
大概是这样的:

我调用Sphere中被覆盖的方法时就会报错,问过老师老师说位置不对,但是改了很多次也没改出个所以然来,应该怎么改呢?(估计调用Cylinder也会报错= =)
public class Circlekind{
public static void main(String[] args)
{
Circle a = new Circle();
a.r=10;
System.out.println("半径为10的圆的面积为"+a.getArea());
Circle b= new Circle();
b.r=10;
System.out.println("半径为10的圆的周长为"+b.getLength());
Sphere c= new Sphere();
c.r=10; 《----------------报错点
}

class Circle {

int o;
int r;
public double PI=3.1415926;

public double getArea()
{
return PI*r*r;
}
public double getLength()
{
return 2*PI*r;
}
class Sphere extends Circle
{
int r;
int O;
//定义球心位置
public double getArea()
// 求球体表面积
{
return 4*PI*r*r;
}
public double getSize()
// 求球体体积
{
return 4/3*PI*r*r*r;
}

}
class Cylinder extends Circle
{
int r;
int h;
//定义圆柱体的高
public double getArea()
//求圆柱体表面积
{
return 2*PI*r*r+2*PI*r*h;
}
public double getSize2()
//求 圆柱体体积
{
return PI*r*r*h;
}

}
}
最佳答案
1. 我非常想知道你这些类之间是什么关系, 把代码贴全点
2. 就目前看你的代码, Circlekind类下面有一个Circle内部类,而 Circle类下面又有两个内部类Sphere 和 Cylinder
3. 就看你贴的代码就是有问题的, 如果是内部类, 那么在你那个main方法里访问就应该会有问题
4. 如果说Circlekind类是一个单独的类的话, 只是Circle类里面有两个内部类, 那是没有问题的,但是你访问的写法是有问题的,应该这么写
public class Circlekind {
    public static void main(String[] args) {
        Circle a=new Circle();
        a.r = 10;
        System.out.println("半径为10的圆的面积为" + a.getArea());
        Circle b = new Circle();
        b.r = 10;
        System.out.println("半径为10的圆的周长为" + b.getLength());
        Sphere c = new Circle().new Sphere();    //这样调用
        c.r = 10;
    }
}
//运行结果如下(我没计算正确还是错误,直接贴出来的)
半径为10的圆的面积为314.15926
半径为10的圆的周长为62.831852

5. 既然Sphere 和 Cylinder都已经继承了Circle类, 那干嘛还在自己的类中去定义
int r; 这个变量
全部回答
Sphere 中的 int r,int o 去掉,不要 然后用的时候 Circle c= new Sphere(); c.r=10; 还有就是要在覆盖的方法上加上 @重写 关键字
final修饰的方法能被子类使用,但final修饰的类不能被继承
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
以前相亲一个女孩子!约了几次以后就不出来了
同一银行在办第二张信用卡需要多长时间
哆来咪幼儿园(颍川华府南)地址在什么地方,想
tell you one word about see you again...co
如何评价电视剧《仙剑云之凡》
台陈镇中心幼儿园怎么去啊,我要去那办事
那种只动脚的慢舞是什么舞?
一张桌子的桌面长6米 宽4米 台布面积是桌布面
梦见媳妇流产
退后的意思是什么啊?知道的请说下!
谈能组什么词?至少10个
到北京公安部做地铁一号线哪个站下最近
一木块浮在一桶水的水上面,将桶固定在电梯内,
为什么水泥地比裸地太阳直接辐射高?
雅辞的意思是什么啊?知道的请说下!
推荐资讯
魔兽世界6.1有个低级副本有白色九头蛇是哪个
磨劫的意思是什么啊?知道的请说下!
中国邮政储蓄银行(官渡支行)地址有知道的么?
凯丝美发烫染店地址在哪,我要去那里办事
国外试行用“汽水”(碳酸饮料)浇灌植物,它的
有很多籽的的海螃蟹在蒸之前是否要把籽去掉
志成英语培训学校怎么去啊,我要去那办事
题升的意思是什么啊?知道的请说下!
翡翠四季平安豆 怎样开光
理财都有多少理财方式
石家庄华医医学院 这学校咋样啊?详情.
老师让做一个正方体和长方体,并写成作文作文
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?