A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 洪建超 于 2013-2-27 23:10 编辑

直接弄public不好吗

11 个回复

正序浏览
各位大哥解释的真好!!!学习了{:soso_e113:}
回复 使用道具 举报
很好的体现了面向对象的封装性,每个属性是属于这个类所有。更体现了安全性
回复 使用道具 举报
这么多的兄弟都回答了  我就不多说什么了  主要还是你要理解面向对象的特征究竟是怎样的原理
定义成private的属性是封装最有力的体现,属性也就是成员变量吧,这个是要在对象初始化的过程中来实现的,
会有默认初始化值的,基本上用来表示一个现实中的事物一创建就带有某种属性,比如:人有名字有性别有年龄
然后调用公有方法来对这些属性进行设置和获取
你学到后面的JavaBean的时候就有具体的体现了,张老师说过:这是Java的一种语法规则,大家都这么做,你也值能照着做就好了,没有那么多的为什么
回复 使用道具 举报
java是面向对像的编程。为了让程序更安全,将一个类特有的成员变量封装到类里设置为私有变量,这样就只能让本类访问到,其他的类调用该来对象时,就只能用该类提供的set()或get()方法修改或者获取成员变量
回复 使用道具 举报
王昕 中级黑马 2013-2-27 12:37:44
8#
封装是为了数据安全,因为数据都有自己合理的取值范围,不是说一个成员变量是int就能取int的所有值都有意义。
直接操作的话,任何人都可以更改你的变量,不过这不是关键,用set也可以改,关键在于,你可以在set方法里面加很多限制,比如取值范围,如果不符合就不允许set,而直接改没法这样限制。
回复 使用道具 举报
颜春 中级黑马 2013-2-27 12:01:01
7#
java 的封装   
public 是全局变量  而有些时候一些代码是不希望被其他类  直接调用的   也是一种安全 严密的java 编程思想

get 和  set 方法更为直观 利于编程
回复 使用道具 举报
把成员变量弄成private是封装的一种形式。便于控制对成员变量的赋值。使用set方法,提供对外访问方式,就是因为可以在访问方式中添加逻辑判断语句。对访问数据进行操作,提高代码健壮性。 而get方法多用于取值。
例如:public class People {
        private String name;
        private int age;
                public int getAge() {
                        return age;
                }
                public void setAge(int age) {
                        if(age<0){
                                System.out.println("年龄不能为负数!");
                        }
                        this.age = age;
                }
}
由此可知:在set方法中就可以添加判断,使赋值合法化。如果没有封装和set方法中的判读,就可能出现为人的年龄赋负值,并且赋值成功的不合理性出现!
在java中使用set与get方法只是通用形式便于阅读理解,当然我们也可以自己定义方法方法名来控制对成员变量的赋值。
回复 使用道具 举报
为了java封装的思想,处于逻辑控制的严密
回复 使用道具 举报

我们学java,其实学的是一种思想,一种面向对象的思路。

其中面向对象思想的原则有:抽象,继承,封装,多态。

你提的问题,在扩展一下其实就是在问:封装性对面向对象思想会有什么好处?

封装的目的是要实现软件的高内聚、低耦合,防止程序相互依赖而带来的变动影响,

面向对象的封装比传统语言的封装更为清晰、更为有力。封装要把描述一个类的属

性和行为的代码封装在一个“模块”中.通常情况下,要让变量和访问这个变量的方法

放在一起,类中的成员变量要尽量定义成私有的,因为只让本类自己的方法访问,

可以起到保护变量的作用,而我只需对外提供访问我类中成员属性的方法即可。

希望我的描述可以帮助你加深对面向对象思想的理解!{:soso_e100:}
回复 使用道具 举报
封装性,成员属性一般不能在其他地方被访问的,所以要设置成private,就好比你自己口袋里的钱别人不能随便来拿你的。只有通过经过你允许(get)才能.
回复 使用道具 举报
这个是这样的,类型不一样
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马