黑马程序员技术交流社区

标题: 有关类私有变量初始化 [打印本页]

作者: 姬运涛    时间: 2014-1-21 21:11
标题: 有关类私有变量初始化
本帖最后由 姬运涛 于 2014-1-22 16:34 编辑

定义一个类
class Person
{
      private int age;
      public void setAge(int a)
      {
             age = a;
      }
      public int getAge()
      {
             return age;
      }
}
******************************
class Person
{
      private int age;
     Person(a)
     {
            age = a;
     }
}
这两种初始化有什么区别?是否用了构造函数初始化,就不需要setAge()初始化;
作者: 廉伟杰    时间: 2014-1-21 21:17
我感觉两种达到的目的是相同的,但是   第一种是现有的对象,然后再给a赋值,这种的目的主要是为了封装
而第二种,在构造函数中,是建立对象的时候就初始化了的,这第二种并没有体现封装的
这应该就是他们的不同吧
作者: 姬运涛    时间: 2014-1-21 21:20
我问的区别是它们用于啥时候,即各自的用法,用与什么地方
作者: 姜胜凯    时间: 2014-1-21 21:24
第一种,用于多次给同一对象的成员变量赋值。可以看成javaBean的类,用javaBean的方法操作。第二个初始化时赋值,对同一对象只赋值一次。看具体需求,从而使用某种方法赋值。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2