Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 2042|回复: 19
打印 上一主题 下一主题

关与java de get and set method。。(我基础不好)

[复制链接]

23

主题

0

好友

235

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

跳转到指定楼层
1#
发表于 2011-7-13 12:25 AM |只看该作者 |倒序浏览
关与这两个method...
打出来我会,可是真正的用途我不知道。。
所以有时不知道几时才需要用这两个method...




收藏收藏0

3

主题

0

好友

2953

积分

白金长老

Rank: 10

2#
发表于 2011-7-13 09:12 AM |只看该作者
本帖最后由 Dhilip89 于 2011-7-13 09:13 AM 编辑
关与这两个method...
打出来我会,可是真正的用途我不知道。。
所以有时不知道几时才需要用这两个method. ...
wo不帅 发表于 2011-7-13 12:25 AM
  1. public class MyClass {
  2.     private int x;
  3.     public int y;

  4.     public MyClass() {
  5.     }

  6.     public int getX() {
  7.         return this.x;
  8.     }
  9.    
  10.     public void setX(int x) {
  11.         this.x = x;
  12.     }
  13. }
复制代码
  1. public class MyApp {
  2.     public static void main(String[] args) {
  3.         MyClass obj = new MyClass();

  4.         // 因为 obj.x 是 private 所以要用 get(accessor) / set(mutator)  
  5.         obj.setX(100);

  6.         // obj.y 是 public 所以可以直接调用
  7.         obj.y = 250;

  8.         System.out.println("obj.x = " + obj.getX());
  9.         System.out.println("obj.y = " + obj.y);
  10.     }
  11. }
复制代码


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

3#
发表于 2011-7-13 02:17 PM |只看该作者
关与这两个method...
打出来我会,可是真正的用途我不知道。。
所以有时不知道几时才需要用这两个method. ...
wo不帅 发表于 2011-7-13 12:25 AM



private 属性不能直接被赋予值的時候就需要個 set method
但 get/set method 的好處是可以先用來做些所需的判斷,如判斷参數的值是不是為空等


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

4#
发表于 2011-7-13 11:16 PM |只看该作者
1. 能在你的get/set property 内判断 值, 假设你直接允许你的开发团去给属性赋予值 是不好的。
2. 维持个标准,
3. 同样的地方可能会派上用场, 代码复用。


回复

使用道具 举报

31

主题

0

好友

1228

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

5#
发表于 2011-7-14 10:07 AM |只看该作者
有些时候你要一些 parameter 只能 get,不能 set;或只能 set 不能 get。


回复

使用道具 举报

23

主题

0

好友

235

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

6#
发表于 2011-7-14 10:34 PM |只看该作者
謝謝你們的講解。。
我大概get到了。。


回复

使用道具 举报

shern91 该用户已被禁止
7#
发表于 2014-1-16 10:30 PM |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

3

主题

0

好友

702

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

8#
发表于 2014-1-17 09:59 PM |只看该作者
本帖最后由 slay_alex92 于 2014-1-17 10:05 PM 编辑
shern91 发表于 2014-1-16 10:30 PM
this 是拿来做么?


this就是指你現在這個object哦
例如
  1. public class Test
  2. {
  3.         public int x;
  4.        
  5.         public Test(int x) //Constructor
  6.         {
  7.                 this.x = x; //外面第三行有x,但是這個constructor的argument也叫做x,所以你
  8.         }                 //在constructor裡面呼叫x,compiler會認為你在呼叫第5行的x(這個現象就叫shadow),
  9. }                       //如果你要在這個constructor裡面呼叫第三行的x,就要在前面加上this,
  10.                         //因為this是這個object instance的意思,而第三行的x是instance variable
复制代码


回复

使用道具 举报

3

主题

0

好友

702

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

9#
发表于 2014-1-17 10:04 PM |只看该作者
是encapsulation的概念,java的instances variable最好都設成private,要用set/get的method來操作
這樣的程式安全性比較高,也比較容易維護


回复

使用道具 举报

shern91 该用户已被禁止
10#
发表于 2014-1-19 12:00 AM |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-1-10 11:28 AM , Processed in 0.115281 second(s), 27 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部