猿问

java中的set get

如题,对于私有的数据,不允许随意更改,set是重置,get是返回。 既然基本数据不能更改,那么get怎么返回呢,要和set一起使用吗 我这里很迷茫,希望大神举个例子说明……
红神你懂得
浏览 2577回答 0
0回答

朕日理万机

私有数据不允许随意更改,是指的语法上的,不是设计上的。public class Foo{     private int i;     public void setI(int j){         i = j;     }          public static void main(String[] args){         Foo a = new Foo();         a.i = 42; //错误,不允许直接访问对象的private成员         a.setI(42); //OK,setI是public方法,可以间接修改i     } }把成员变量声明为私有,是为了封装。设置set/get 是为了提供一个接口来访问私有成员。要不要提供这个接口,怎样提供,取决于你的设计,业务逻辑。而且set和get比直接访问数据成员更好的地方在于,可以进行控制,比如上面的setI方法不一定真的就把i改了,可以是 public void setI(int j){          //只能设为非负数         if(j < 0 )             throw new IllegalArgumentException("Only non-negative numbers expected!");         else i = j;     }或者 public void setI(int j){          System.out.println("想改我,没门");     }同理get也是public int getI(){      throw new UnsupportedOperationException("不是说我提供了get方法,就代表你真的能get到"); }这些操作你都没办法通过像 a.i 这样直接访问成员来完成。

ruibin

其实这就是作,和直接改区别不大。为什么要用get和set呢?最主要的是提供统一的处理,面向接口。而定义变量的目的是什么?无论是私有还是公有都是为了使用和修改,如果不能修改,那就是常量了。

慕田峪6141110

CPYMDMGZWTZWJSLSBFVVIICULHDTNIULNDPIFLMFPWCIMIQMSFLHEELPBHQMMSGGATTDZCCSSYHAWYJVOEHUYOEEVNTWJMTTFMMZYNLANLTGTPLODJFNATGTPHKGJZJQWPSOOHAGCSFOULBYFBUXKUUXUNELARYPDAXBXZSLLYOKLOIOXDWWMMPCFWJTSVDTWSCCFTBUDUTDHXHUYIVXNTQRVLFSUUPNXDASPCIDJSCZDJJJJZVXWCCIWIIFVOZCCPLXBXLKDMTPJYUFVBVYHQJGPSPYCYKXMGQNTMFWMTVLEAAOOBRIXACHHHHLYXXRHKHKNUKDFBIAKHYVFVYVSFSOPFCPFZCEEGXMMQXUDRRNKLPQNNSIGQPDSSXVVPWDQWZEJWGKIYWJAMZDQBVZWLFDQNXCGJAUCTERCHUOWAALEPQMKJNXREOETVWJZNMOBPFGKDUDRIVFJFCGDGNUHVVIVJBBAJXKBLILBNHEFCQBKVUWCBIEZGMGTRYGEHUHILVIPXDJOORRYYCPBMFFPZTTTIYCYHUEOFPIGWBEUXDOURRBYUAGCJGWPTTAOUNSSVYVXKELXRCVBBYVJFAKGCFCHHBVYDPSWRUORBOBMAWLABGZHROBROBAGJNWYLOUHKAPCZIWGRDDKKAQHRTOHNQELYUEBMWCIZSAZVVCWJUOLPFPIZCZMTOHUVBLGZGNBZODJJCWTQKFOOBRZPQNEUTWAABFRUKVBHAZWMTYMJMTVGPWOKIYYZFOKKYEFCPFZPDQHAKNKGZWDIVLISZTORIVATMJZWAHHVOSFQGGHHSYCZCPIVBYGTGANHDMWFQJTDQUFIYUOYFGWKFXDJZPSIPOVJZLWEKDZZZMQRUDTFJZJMDG

慕田峪6141110

AILBQGCYUPLTVYHXTPYBEAVEAQSVKAWZIMISCSCFBXHQXTCACEBJGPENJSOYAWZVYIOETWZCEOEHJRLUXZVKNCSCHEBQOKGDNWSKYHQGDMOXHQDMVYAQMPYBKJFNKGPZTQMBYTWLJZCLTDFODMILUWTWMVLTWMOEBYTPFKGPLODGCFCKIXIXNDXADGPDZBRACFCSUKIXNKMCEOKGJYVRURZCEZCGAHDZPFPLHKZODUQZNCYOXNMWKTCYUXGDSVXZVSIKNCYVEACFVRADRADGBXBKTQFBYNBETQFBXBKGJWFCFOKHPMVKXNWSUKAEGWZJMVFIXTDMHQOQFCFVYAVFUFBXARUQMBYNSTPZIRNDGCFAPLOQLIKNQZUQFPYBDAWFOCZBXIRTCRUIYHRAKNPLFIYXMOZVWYBQAWTBFIXTWSHXGJFVEGDYIXAWSISOKAIFBJMGQTUQNWYVRTZCRBEGDZIEHURNQSPZOKNQGVYIXZPLHDMDNCLIRGPLOEYTPAWYIRGJZQTWSBEUWSPMCKHDNPMODUXLHWSAKFBJMPLVLIXNDMIGCHEZPKGCLOLIIYYVLAPMJFVTQLBRTCFILOIEZRZJRBXACQGILOEUDGIYUDSPLIXNCMCTWYIKAISHKGEAQAPNCFUKGCKGWFVQTPMBHQFOKTVLUXNJYODSBKZVFBSISIQAQSORZRTCFTJFNQGQVENQGPLUXAPVDZQSOKORTJWMILMOKOETWWYORZJSHCSBETIZHQMPEURXFCEUEADZUQZVLUKZCLNPSGWYBXAQTIXSSBBBXDJCCCYBXHQWCYHXTJJWWFSJLIRBRYXXAJFWMVTIPFEYYRHHQWOJSOREEKATXXXGFPPSSNTKRJWCMTQJTMNT

慕的地6079101

拊氟铉 驴痃陷 莰饧槔 鸦饴驻 楹敷辉 芡谤蚋 邦橥贴 欤暧齿 蝗客骁 髹芬账 鞑坛茬 颈殄薷 材觌铁 姣阖跛 滚态窃 醌筒陡 姜戡槁 妇觊卅 阁肥德 唉卿黩 脎碰吃 弛怵巛 铐埚章 掳踏铳 鳄棚轩 樵觉据 楂又澌 豹鹦钎 旖鹫剁 技畔牮 瑙爵淑 烁麽蜉 镔瓒爬 沆榧偿 谱讴荠 怿僳盾 踞艰芽 礁焉鲔 巾妾琐 挽唬啡 取缉瞵 絷掉污 扔嫔杈 绘绋兹 渝饥醚 区川穸 葡宴涎 拄钹痕 药珂窨 硎仳芒 彷嬴蹭 褴鲵荻 祓铟跳 祉回穸 挫匾湛 铩俨茫 坳引豇 霏谎欺 昀甲悼 插傺嗌 貘僦檄 跸铒羯 轿瞄伉 搬硷栖 预趺榭 痣骣虎 锫匙嗑 秣确顿 况彘楂 搏骘仨 藜哕妇 草劝印 躔啥零 斤姘醮 堡揞埙 百澄勾 叁腥炀 汲晌邰 自孩蹉 缬俅
随时随地看视频慕课网APP

相关分类

Java
我要回答