如图最简单的java程序:-(

如图最简单的java程序:-(刚学几天

Rectangle是一个非静态的内部类,只能被这个类的非静态方法访问。main方法是静态方法,所以使用该类创建对象时会出错。

解决办法有两个:

1. 将Rectangle变为静态的内部类

2. 将类移到外面定义

// 1. 将Rectangle变为静态的内部类
public class Main {
    public static void main(String[] args) {

        Rectangle rect = new Rectangle();
        rect.width = 100;
        System.out.println(rect.width);
        rect.height = 200;
        System.out.println(rect.height);

        Rectangle rect2 = new Rectangle();
        rect2.width = 10;
        System.out.println(rect2.width);
        rect2.height = 20;
        System.out.println(rect2.height);

    }

    static class Rectangle {
        int width;
        int height;
    }
}

// 2. 将类移到外面定义
public class Main {
    public static void main(String[] args) {

        Rectangle rect = new Rectangle();
        rect.width = 100;
        System.out.println(rect.width);
        rect.height = 200;
        System.out.println(rect.height);

        Rectangle rect2 = new Rectangle();
        rect2.width = 10;
        System.out.println(rect2.width);
        rect2.height = 20;
        System.out.println(rect2.height);

    }

}

class Rectangle {
    int width;
    int height;
}

两种方案都可以正常运行,运行输出结果一致。

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-02-01
看看你的大括号,明显是嵌套混乱
相似回答