Java 基础(没有c币了,还望解答一下,谢谢)

图片说明
为啥我在类He'llWorld前面没有加static 就是这个情况,,而加了static就没事了

这属于内部类的调用
成员内部类的访问方式:

                方式一:在外部类提供一个方法创建内部类的对象进行访问。

                方式二:在其他类直接创建内部类的对象。 格式:外部类.内部类  变量名 = new 外部类().new 内部类();

下面是使用方式二来调用:

 public class Main {
    public class HelloWorld{
        private String world = "World";
        public void say(){
            System.out.println("Hello" + world + "!");
        }


    }
    public static void main(String[] args) {
        Main.HelloWorld inst = new Main().new HelloWorld();
        inst.say();
    }
}

图片说明运行如下:

图片说明加了staic 如图

这属于内部类的引用,加static是必须的

Java中,嵌套类要叫静态嵌套类,嵌套的顶层类必须为静态类,并且只能嵌套到其他顶层类中,就像这样:
public class TopClass{
public static class NestedClas{
...
}
....
}

因为程序的执行顺序是静态变量、静态代码块、静态方法、普通变量、构造方法、普通方法。main函数是程序的入口规定是静态的所以在main函数里面必须是静态方法,而不能使用普通方法,因为在执行main函数的时候这个方法还没有被加载

这属于内部类的引用,加static是必须的因为程序的执行顺序是静态变量、静态代码块、静态方法、普通变量、构造方法、普通方法。main函数是程序的入口规定是静态的所以在main函数里面必须是静态方法,而不能使用普通方法,因为在执行main函数的时候这个方法还没有被加载

bunwengyongle b

建议查看一下,java内部类的相关。。。

静态方法只能调用静态。

main属于静态函数,静态只能调用静态。
但是非静态可以调用静态,也可以调用非静态