可以的。类可以有内部类,具体问题。具体再追问。
错误提示是说:
非静态变量类型不能在静态上下文中引用。
(1)你的;main方法是static的,即静态的。
(2)如果你将类包含在里面的话,需要将printchar声明为静态的。才能在main方法中引用。
首先楼上说的有歧义,如果在static方法中new 一个对象都不行的话,那平时在main方法中是如何new的?
(1)上面的问题主要是因为成员内部类。构造一个成员内部类对象时应使用
new TaskThreadDemo().new PrintChar();
(2)可以使用静态内部类,加上static关键字,静态内部类的创建不需要依赖外部类
new PrinctChar();
static修饰属于类但不属于对象的变量和方法。
静态方法只能访问静态成员,实例方法可以访问静态和实例成员。
之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,并不一定存在对象