Java中的static关键字表示该类的所有实例之间共享变量或函数,而不是实际对象本身。
在您的情况下,您尝试通过一种static
方法访问资源,
public static void main(String[] args)
因此,我们在此处创建而不访问类实例的任何内容都Flavor1Demo
必须是static
资源。
如果static
要从Demo
类中删除关键字,则代码应如下所示:
class Flavor1Demo { // An anonymous class with Demo as base class Demo d = new Demo() { void show() { super.show(); System.out.println("i am in Flavor1Demo class"); } }; public static void main(String[] args) { Flavor1Demo flavor1Demo = new Flavor1Demo(); flavor1Demo.d.show(); } }
在这里您会看到,我们创建了的实例,Flavor1Demo
然后获取了non-static
资源d
上面的代码不会抱怨编译错误。
希望能帮助到你!
Java中的static关键字表示该类的所有实例之间共享变量或函数,而不是实际对象本身。
在您的情况下,您尝试通过一种static
方法访问资源,
public static void main(String[] args)
因此,我们在此处创建而不访问类实例的任何内容都Flavor1Demo
必须是static
资源。
如果static
要从Demo
类中删除关键字,则代码应如下所示:
class Flavor1Demo { // An anonymous class with Demo as base class Demo d = new Demo() { void show() { super.show(); System.out.println("i am in Flavor1Demo class"); } }; public static void main(String[] args) { Flavor1Demo flavor1Demo = new Flavor1Demo(); flavor1Demo.d.show(); } }
在这里您会看到,我们创建了的实例,Flavor1Demo
然后获取了non-static
资源d
上面的代码不会抱怨编译错误。
希望能帮助到你!