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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 姬运涛 中级黑马   /  2014-1-21 21:11  /  1006 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 姬运涛 于 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()初始化;

3 个回复

倒序浏览
我感觉两种达到的目的是相同的,但是   第一种是现有的对象,然后再给a赋值,这种的目的主要是为了封装
而第二种,在构造函数中,是建立对象的时候就初始化了的,这第二种并没有体现封装的
这应该就是他们的不同吧
回复 使用道具 举报
我问的区别是它们用于啥时候,即各自的用法,用与什么地方
回复 使用道具 举报
第一种,用于多次给同一对象的成员变量赋值。可以看成javaBean的类,用javaBean的方法操作。第二个初始化时赋值,对同一对象只赋值一次。看具体需求,从而使用某种方法赋值。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马