Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区 » Java与OOP初步  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 怎样引用public的非静态变量?
ggloverv





发贴: 5
积分: 0
于 2008-10-26 21:03 user profilesend a private message to usersend email to gglovervsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
public class Shit {
  public int i=2;
  public static int j=3;
  public static void main(String[] args) {
    System.out.println(i);//有错
    System.out.println(j);
  }

}


怎样才能输出那个i呢?



RVstudio
作者 Re:怎样引用public的非静态变量? [Re:ggloverv]
ice0819





发贴: 17
积分: 1
于 2008-10-27 17:23 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Shit shit=new Shit();
System.out.println(shit.i);



作者 Re:怎样引用public的非静态变量? [Re:ggloverv]
winoo7





发贴: 1
积分: 0
于 2008-10-28 08:43 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Shit s = new Shit();
System.out.println(s.i);



作者 Re:怎样引用public的非静态变量? [Re:ggloverv]
gbluo





发贴: 5
积分: 0
于 2008-10-28 09:23 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
还有别的方法吗?

gbluo edited on 2008-10-28 09:26

作者 Re:怎样引用public的非静态变量? [Re:gbluo]
JiafanZhou



版主


发贴: 736
积分: 61
于 2008-11-11 22:17 user profilesend a private message to usersend email to JiafanZhousearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
gbluo wrote:
还有别的方法吗?

No! It is the only mean to get access to the non-static member field. The reason for this is that non static member fields or methods are bounded to a specific instance of the object. Thus it will be forced to be manipulated by the instance reference.

Another thing worth to be mentioned is that it is *not* recommended to declare public to member fields. It would be preferred to declare public get/set methods, in conformance with the JavaBean standard. And it is subject to one of the most important OO rule: Encapsulation.

By the way, why do you declare your class name as "SHXT"? It is a forbidden keyword in the Java World.... Smile

Regards,
Jiafan



When I was a kid I used to pray every night for a new bike. Then I realized that The Lord doesn't work that way, so I stole one and asked him to forgive me.

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2020 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号
客服电话 0592-8750026    客服信箱 714923@qq.com    客服QQ 714923