关于在STATIC 方法中的this问题
为什么在STATIC 方法中不能用this.
如
public class outer{
public static void main(String[] args){
inner a = new inner();// not right?
outer.inner b = new outer().inner();//只能 这样实例化
//一个inner class对象
}
class inner{}
public void method(){
inner a = new inner();//right
}
}
为什么在STATIC 方法中不能用this.???????
------解决方案--------------------this是当前对象的引用
static的东西不属于任何一个对象,又如何使用this呢?
------解决方案--------------------原因如一楼
类是抽象的,没有这个具体的东西,对象、实例是具体的
相当于 "人 "与 "你 "的关系,没有 "人 "这个具体的东西,但是有 "你 "这个 "人 "
楼主没理解类与对象的关系
------解决方案--------------------同意楼上所有意见,建议楼主好好看看基础。^_^
------解决方案--------------------类理解为一个类别的事物,比如人,猪,马,电脑,网站.
对象可以理解为一个实例吧? 梦幻西游-湖北1区-昭君台-ID:9114273
或者 http://community.csdn.net/
------解决方案--------------------最简单的理解办法,一个内部类,实际上就相当于一个类的方法(这种说法可能不太恰当),我是说它的存在就像是外部类的一部分,而main方法是静态的,那么,在静态的方法中只能引用静态的变量或方法,这个问题中,main方法是类中的一部分,而创建的内部类对象却不是静态的,所以不能被引用
------解决方案--------------------还是要多看看书。其实书上已经说得非常清楚了