Emiliaaaa 2019-04-05 17:25 采纳率: 66.7%
浏览 313

JAVA关于类的初步应用

  1. 定义一个主类CircleTest,在主类中实现:
    ① 用无参数Constructor生成一个Circle对象,并调用mutator方法设置radius的值,再输出其面积、周长及直径;
    ② 用有参数Constructor生成另一个Circle对象,再输出其面积、周长及直径。

    我已经按照书本上模仿了一段差不多的代码(应该不会有错) 然后在主类中调用的时候产生了奇怪的问题 :无法从静态上下文中引用非静态变量this

    class Circle{
    private double radius;
    // private double area;
    //private double perimeter;
    private double PI=3.1415;
    public Circle()
    { }//空参数
    public Circle(double r)
    {
    radius=r;
    }

    public double mutator(){//设置半径
        return radius;
    }
    public void accessor(double r){//获取半径
        radius=r;
    }
    public double area(){
        return radius*radius*PI/2;
    

    }
    public double perimeter(){
    return 2*radius*PI;

    }
    }
    public static void main(String[] args) {
    ** Circle radius = new Circle();**

不太明白为啥会出错。。这一步也是模仿课本来的来着。
  • 写回答

2条回答 默认 最新

  • threenewbee 2019-04-05 19:19
    关注
    class Untitled {
        public static void main(String[] args) {
            Circle radius = new Circle();
            radius.accessor(10.0);
            System.out.println(radius.area());
        }
    }
    
    class Circle{
        private double radius;
        // private double area;
        //private double perimeter;
        private double PI=3.1416;
        public Circle()
        { }//无参构造函数
        public Circle(double r)
        {
            radius=r;
        }
        public double mutator(){//获取半径
            return radius;
        }
        public void accessor(double r){//设置半径
            radius=r;
        }
        public double area(){
            return radius*radius*PI/2;
        }
        public double perimeter(){
            return 2*radius*PI;
        }
    }
    

    157.07999999999998

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器