class Sample1{
int i = 12;
}
class Sample2{
Sample s1= new Sample();
int j = 10;
}
public class Test1{
static Sample2 s2 = new Sample2(); /**为什么一定要是static成员?*//
public static void main(String args[])
{
System.out.println(s2.s1.i);
}
}初学java搞不懂这个public class,为什么不可以直接放属性Sample2 s2; ??
int i = 12;
}
class Sample2{
Sample s1= new Sample();
int j = 10;
}
public class Test1{
static Sample2 s2 = new Sample2(); /**为什么一定要是static成员?*//
public static void main(String args[])
{
System.out.println(s2.s1.i);
}
}初学java搞不懂这个public class,为什么不可以直接放属性Sample2 s2; ??
解决方案 »
- 求高手解答!
- 关于处理图片集合问题
- JNA时,对Handle 类型的处理
- 线程题 求助
- 如何把一个类做成完全封装?
- jni.cpp 里的问题在Google上搜了2天找不到答案,先寄希望与各位老兄。
- 我的一道 AWT 题,谢谢
- 我的记事本选择了英文字体,然后在JTextArea里的中文全变成框框了,请问有什么办法解决
- 高手!如何用javax.xml.parsers.DocumentBuilder在XML Document中添加<!DOCTYPE jasperReport PUBLIC ..." "...">
- 有个小问题懂的来解释一下,多谢.
- 100分求java源码!
- -------------关于Jtree!!-----------
还有,这里打错了:
class Sample2{
Sample s1= new Sample();
int j = 10;
}
应改为:
class Sample2{
Sample1 s1= new Sample1();
int j = 10;
}
原因是非静态成员类的每一个对象有一份,没有对象,就没有这个成员,而静态成员属于整个类,即使没有生成Test1类的任何对象,也可以直接访问它。要么你把s2定义成main的局部变量也可以。
public static void main(String args[])
{
Sample2 s2 = new Sample2(); /**为什么一定要是static成员?*//
System.out.println(s2.s1.i);
}
因为函数自己局部的变量,总归是可以访问的。