为啥我在类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();
}
}
这属于内部类的引用,加static是必须的
Java中,嵌套类要叫静态嵌套类,嵌套的顶层类必须为静态类,并且只能嵌套到其他顶层类中,就像这样:
public class TopClass{
public static class NestedClas{
...
}
....
}
因为程序的执行顺序是静态变量、静态代码块、静态方法、普通变量、构造方法、普通方法。main函数是程序的入口规定是静态的所以在main函数里面必须是静态方法,而不能使用普通方法,因为在执行main函数的时候这个方法还没有被加载
这属于内部类的引用,加static是必须的因为程序的执行顺序是静态变量、静态代码块、静态方法、普通变量、构造方法、普通方法。main函数是程序的入口规定是静态的所以在main函数里面必须是静态方法,而不能使用普通方法,因为在执行main函数的时候这个方法还没有被加载
bunwengyongle b
建议查看一下,java内部类的相关。。。
静态方法只能调用静态。
main属于静态函数,静态只能调用静态。
但是非静态可以调用静态,也可以调用非静态