静态对象理解的问题?

oldabc 2007-11-08 04:52:00
static关键字放到变量和方法前面的时候,代表stactic字段对于类来说只有一份存储空间。
而非stacic字段是每个对象有一个存储空间。
如果static放在一个对象引用前。代表什么意思?
EG:
class B{
}
public class A{
static B b=new B();
public static void main(string[] args){
b.xxx();
}
}
...全文
96 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
oldabc 2007-11-12
  • 打赏
  • 举报
回复
静态方法不可以访问非静态属性
静态对象可以访问该类中任何属性.
若凹 2007-11-08
  • 打赏
  • 举报
回复
意味着你可以用"类名.成员名"的方式直接引用方法或公有成员```而不必去new一个对象```这在Math类常见吧`
A里的static B对象是不会影响原来B对象的成员属性的
K_pax 2007-11-08
  • 打赏
  • 举报
回复
main方法是static的,它无法直接引用非静态的变量和方法,如果B是A的static属性,则A的main()方法可直接用,不用new一个A的对象!
oldabc 2007-11-08
  • 打赏
  • 举报
回复
看JAVA编程思想有一样一个例子

public class a{
static Random rand=new Random();
public static void main(String[] args)
{
int[]a;
a=new int[rand.nextint(20)]
这里的Random类是生成随即数的类,写到这个类a的时候,当MAIN方法要用到这个类的方法时候. 我要把他的对象引用也变成static,但他变的是对象引用,并没有变这个类的方法吧??如果这个RANDOM类方法不是STATIC,那不是矛盾吗?
oldabc 2007-11-08
  • 打赏
  • 举报
回复
我有一个这样的了解 如果说 我把对象引用b 变成static.. 当下面用到这个B类的一个字段, 而在B这个类中 他的字段不是static.使用这个对象使用他 不是有冲突吗?
lihaifeng0412 2007-11-08
  • 打赏
  • 举报
回复
表示A类的所有对象公用一个B类的对象
oldabc 2007-11-08
  • 打赏
  • 举报
回复
如果这么写 是不是在b对象引用里的变量与方法也变成static了?
java_zhaidp 2007-11-08
  • 打赏
  • 举报
回复

和static int q 一样理解。

只不过是类的一个成员。
oldabc 2007-11-08
  • 打赏
  • 举报
回复
只创建一次有什么好处?不如我把类单写出来 直接用类.方法出来.这么写总应该有个道理吧
blue_winding 2007-11-08
  • 打赏
  • 举报
回复

表示对象只创建一次

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧