为了账号安全,请及时绑定邮箱和手机立即绑定

4-3抽象类课后疑问路过的大侠给看看哪里不对的谢谢

父类
package imooc02;

public abstract class Shape {
    public abstract void Perimeter();
    public abstract void Area();

}
子类01
package imooc02;

public class Rectangle extends Shape {

    @Override
    public void Perimeter() {
        // TODO Auto-generated method stub
        double a;
        double b;
        double c;
        double c= (a+b)*(a+b);
        System.out.println("长方形的周长为"+c);
        }
    

    @Override
    public void Area(){
        // TODO Auto-generated method stub
            double a ;
            double b;
            double s;
        double s= a*b;
        System.out.println("长方形的的面积为"+s);

    }

}
子类02
package imooc02;

public class Circle extends Shape {

    @Override
    public void Perimeter(){
        // TODO Auto-generated method stub
        double π;
        double d;
        private double c ;
        private double c= π*d;
        System.out.println("圆的周长是:"+c);
        

    }

    @Override
    public void Area(){
        // TODO Auto-generated method stub
        double π;
        double  d;
        double s;
        double s= π*((d/2)*(d/2));
        System.out.println("圆的面积是:"+s);

    }

}     

测试类
package imooc02;

public class Test {
    public static void main(String[] args) {
        Shape a1=new Rectangle();
        a1.Perimeter();
        a1.Area();
        Shape a2=new Circle();
        a2.Perimeter();
        a2.Area();
    }

}


正在回答

3 回答

将double π 定义为常量 final PI=3.14;试试

1 回复 有任何疑惑可以回复我~
#1

ART原艺美学 提问者

这回对了吗 大圣
2017-03-08 回复 有任何疑惑可以回复我~
#2

ART原艺美学 提问者

谢谢指导
2017-03-08 回复 有任何疑惑可以回复我~
#3

ART原艺美学 提问者

非常感谢!
2017-03-09 回复 有任何疑惑可以回复我~

既然一个类里面两个方法的变量都一样的话,可以直接拿出来啊,在类里定义写一遍就好了。

1 回复 有任何疑惑可以回复我~
父类
package imooc02;
 
public abstract class Shape {
    public abstract void Perimeter();
    public abstract void Area();
 
}
子类
package imooc02;
 
public class Rectangle extends Shape {
 
    @Override
    public void Perimeter() {
        // TODO Auto-generated method stub
        double a=10.0;
        double b=10.0;
        double c;
         c= (a+b)*2;
        System.out.println("长方形的周长为"+c);
        }
     
 
    @Override
    public void Area(){
        // TODO Auto-generated method stub
            double a=10.0 ;
             
            double b=10.0;
             
            double s;
         s= a*b;
        System.out.println("长方形的的面积为"+s);
 
    }
 
}
子类02
 
package imooc02;
 
public class Circle extends Shape {
 
    @Override
    public void Perimeter(){
        // TODO Auto-generated method stub
        final double PI=3.14;
        double d=9.0;
         double c ;
           c= PI*d;
        System.out.println("圆的周长是:"+c);
         
 
    }
 
    @Override
    public void Area(){
        // TODO Auto-generated method stub
        final double PI=3.14;;
         double  d=9.0;
        double s;
         s= PI*(d/2);
        System.out.println("圆的面积是:"+s);
 
    }
 
}     
测试类
package imooc02;
 
public class Test {
    public static void main(String[] args) {
        Shape a1=new Rectangle();
        a1.Perimeter();
        a1.Area();
        Shape a2=new Circle();
        a2.Perimeter();
        a2.Area();
    }
 
}
 
长方形的周长为40.0
长方形的的面积为100.0
圆的周长是:28.26
圆的面积是:14.13


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

4-3抽象类课后疑问路过的大侠给看看哪里不对的谢谢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信