关于静态函数 静态可以访问哪些数据或方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不管是静态还是非静态,总之一个原则就是要合理如果楼主看明白偶下面说的,问题应该可以自己总结:比如有一个类:class MyClass{ private int a; public MyClass(int aValue){ this.a = aValue; } public static void f(){ }}如果我们在程序中创建了N个对象:MyClass obj1 = new MyClass(1);MyClass obj2 = new MyClass(2);...MyClass objn = new MyClass(n);那么内存中就会有n个类型为MyClass的对象,每个对象的私有属性a的值都不相同。而我们知道,静态方法是可以通过类访问的,那么如果在静态方法 f() 中访问变量 a public static void f(){ System.out.println(a);}那么它应该输出什么值呢?从另一个角度看,如果程序中没有创建任何 MyClass 类的对象而直接调用 MyClass.f(),它又应该输出什么值呢? 静态的只能访问静态的东东,有Static的!如果想访问非静态的东东,必须实例化了才能用! MyClass中的a必须声明为static ,否则会有编译错误。不存在f()不知道输出的是哪个a。 初学java 的青年有几个疑问!!!! 为什么说java是面向网络编程 请高手讲解两个接口有相同的方法的处理办法!!! 滚动条问题```急``` 按格式写入文件的问题 JBUILDER中使用SWING时自定义异常问题 dos提示符里输出中文,怎么是乱码? java怎样判断一个文本里有多少个单词 编程爱好者请进 一个常量(3.2)不能作为float型使用么? java正则表达式的替换问题 关于equals和==
class MyClass{
private int a;
public MyClass(int aValue){
this.a = aValue;
}
public static void f(){
}
}如果我们在程序中创建了N个对象:
MyClass obj1 = new MyClass(1);
MyClass obj2 = new MyClass(2);
...
MyClass objn = new MyClass(n);那么内存中就会有n个类型为MyClass的对象,每个对象的私有属性a的值都不相同。而我们知道,静态方法是可以通过类访问的,那么如果在静态方法 f() 中访问变量 a
public static void f(){
System.out.println(a);
}
那么它应该输出什么值呢?从另一个角度看,如果程序中没有创建任何 MyClass 类的对象而直接调用 MyClass.f(),它又应该输出什么值呢?
如果想访问非静态的东东,必须实例化了才能用!
MyClass中的a必须声明为static ,否则会有编译错误。
不存在f()不知道输出的是哪个a。