Java关于类的一个问题


package pratice_chen_01;

public class main_ {

    public static void main(String[] args) {
        System.out.println("这是主函数");

    }
    Computer c = new Computer();
    c.introduce(); // 这里报错,为什么呢?
}

class Computer {

    public static void introduce() {
        System.out.println("这是一台电脑");
    }
    public void Transferdata(USB usb) {
        usb.begin();
        usb.stop();
    }

}

问题在代码块里,请问这是为什么呢?
报错信息:无法解析符号 'introduce'

就是这段代码要写在一个函数(方法)体中,比如在main方法中,而不在方法体外

Computer c = new Computer();
c.introduce(); // 这里报错,为什么呢?

非静态内部类,必须有一个外部类的引用才能创建。


public static void main(String[] args) {
        System.out.println("这是主函数");
        Computer c = new main_().new Computer();
        c.introduce();
    }

     class Computer {

        public void introduce() {
            System.out.println("这是一台电脑");
        }
         public void Transferdata(USB usb) {
             usb.begin();
             usb.stop();
         }
    }

或者你在Computer类前面加一个static

    public static void main(String[] args) {
        System.out.println("这是主函数");
        Computer c = new Computer();
        c.introduce();
    }

   static  class Computer {

        public void introduce() {
            System.out.println("这是一台电脑");
        }
         public void Transferdata(USB usb) {
             usb.begin();
             usb.stop();
         }
    }