Thinking in java 4e Chapter2 Exercise4
大家好,我刚学java,做Thinking in java题时,javac 第一段代码时出现“无法从静态上下文中引用非静态变量”,而第二,三段代码都成功编译和运行
由于刚学,谁能帮我讲一下这几段的区别在哪,编译时,内存中是怎么进行的?问题出哪?
public class DataOnlyTest {
class DataOnly {
int i;
double d;
boolean b;
}
public static void main(String[] args) {
DataOnly data=new DataOnly();
data.i=47;
data.d=1.1;
data.b=false;
System.out.println(data.i);
}
}
************************************************************
public class DataOnlyTest {
public static void main(String[] args) {
DataOnly data=new DataOnly();
data.i=47;
data.d=1.1;
data.b=false;
System.out.println(data.i);
}
}
class DataOnly {
int i;
double d;
boolean b;
}
*********************************************************
public class DataOnlyTest {
public static void main(String[] args) {
class DataOnly {
int i;
double d;
boolean b;
}
DataOnly data=new DataOnly();
data.i=47;
data.d=1.1;
data.b=false;
System.out.println(data.i);
}
}