为什么访问类里的变量时,老是用getxxx()方法,而不用Objectname.xxx 为了让你不可能在想要 get 的时候(不小心,恶意) set 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使其看起来更加面向对象,而不是面向结构体,最重要的是,getxxx()方法里有很多的处理,比如你有没有权限得到这个变量。 在get和set的过程中你可以控制,譬如合法性检查啊之类的,或者控制只让set不让get或者相反,当然,你不set和get也可以,直接存取也可以,只不过没有特别的理由,最好不要这样 Objectname.xxx 读取变量,则要求该变量是static 回 shihuash11(ssh) :)你应该理解错楼主的意思了,你看看名字是Objectname而非Classname啊只不过习惯上变量命名以小写开头 一个object里面有变量,难道这个object不是一个类的实例吗?不然这个object是什么? 1、为了更好的封装!如果你定义的xxx是私有变量。那么你只能用类的方法访问他!objectname.xxx是不允许的。 to shihuash11(ssh) :Objectname是某个类的实体,但是想引用其成员也没有必要一定要static的呀? 一种数据保护的手段,只允许有权限的人(public protected or private)进行受控的操作 请教“takecare(大厅) ( ) ”请举一个例子,直接引用它类非static成员。jsp中的bean就不用举了。 我也觉得主要是为了控制访问。有时类变量要设置为只读,这时就可以只提供一个get方法而不提供set方法。这点我建议大家和c#对比一下,c#在类变量访问上做得比java先进。c#把get和set作为关键字,专门用来控制对类变量的访问,例如:public class test{ public string a{ get{ return "get"; } }}而使用的时候可以直接读a:string temp = testobj.a;//temp = "get"但不能直接修改a:testobj.a = "set";//抛出异常java 虽然没有get,set关键字,但通过方法也实现了其功能。 To shihuash11(ssh) 请教“takecare(大厅) ( ) ”请举一个例子,直接引用它类非static成员。jsp中的bean就不用举了。 为什么不可以呢?将属性的访问权限弄成public不就行了 基于以下几点原因:1. 更好的封装性。2. 更好的维护性。3. 更大的灵活性。另外,to:楼上,考虑下这3点,就知道为什么不要把属性设置为public了。 当然也不是一定要用set/get,譬如如果你的属性是一个immutable,那么将其声明为public final更好啊根据实际情况决定吧 使用jpcap包时出现的异常 怎么解决? double 基本数据类型对应的封装类型是什么?? 请大家推荐一本java教程的好书!谢谢! i = i++的问题 jdk1.4.2 不能和 jdk 1.5 一起存在么 郁闷了半年,该是时候散散分了:-) 有谁愿意和我合伙购买正版《张孝祥java视频教程》高级篇?? 求将一个class文件封装成windows服务源代码! 为何提示找不到jar文件 请教!!!!!!!!!!!!!!!!!!! 面向对象的基本概念:类,实例,对象,引用的感悟,大家看看我的理解如何 关于比较两个文件的程序怎么 写???高手帮忙!!!
最重要的是,getxxx()方法里有很多的处理,比如你有没有权限得到这个变量。
当然,你不set和get也可以,直接存取也可以,只不过没有特别的理由,最好不要这样
:)你应该理解错楼主的意思了,
你看看名字是Objectname而非Classname啊
只不过习惯上变量命名以小写开头
不然这个object是什么?
如果你定义的xxx是私有变量。那么你只能用类的方法访问他!
objectname.xxx是不允许的。
Objectname是某个类的实体,但是想引用其成员也没有必要一定要static的呀?
请举一个例子,直接引用它类非static成员。jsp中的bean就不用举了。
public class test{
public string a{
get{
return "get";
}
}
}
而使用的时候可以直接读a:string temp = testobj.a;//temp = "get"
但不能直接修改a:testobj.a = "set";//抛出异常java 虽然没有get,set关键字,但通过方法也实现了其功能。
请教“takecare(大厅) ( ) ”
请举一个例子,直接引用它类非static成员。jsp中的bean就不用举了。
为什么不可以呢?将属性的访问权限弄成public不就行了
1. 更好的封装性。
2. 更好的维护性。
3. 更大的灵活性。另外,to:楼上,考虑下这3点,就知道为什么不要把属性设置为public了。
那么将其声明为public final更好啊
根据实际情况决定吧