黑马程序员技术交流社区

标题: private 修饰变量的问题,问题在注释里面 [打印本页]

作者: 路边小色狼    时间: 2013-9-3 11:50
标题: private 修饰变量的问题,问题在注释里面
本帖最后由 路边小色狼 于 2013-9-3 13:05 编辑

class Person
  {
         private int age;      //用private修饰变量
          public void setAge (int a)     //setAge方法作为变量age的入口
          {
        age=a;
           }
          public int getAge()      // getAge 这方法没啥用啊,不加它也行啊,那为什么留着?已经有speak方法来作为变量age的出口了,而且又没人调用。
          {
            return age;
          }

       void speak()
          {
        System.out.println("age"+age);
          }
}

public class fengzhuang
{
public static void main(String[] args)
{
   Person p=new Person();
   p.setAge(20);
   p.speak();
}
}

作者: 白磊    时间: 2013-9-3 12:08
首先说一句哈:你自己的代码里的方法是你写出来的,需不需要应该要知道啊!

你的则个getAge()方法和speak()方法的作用在这里肯定不一样的啊,你定义了一个私有的成员age,外部需要使用这个age只能通过getAge()方法获得。  而 你的那个speak()方法只是一个简单地打印语句罢了。
作者: 焦允    时间: 2013-9-3 12:11
这个只是老师上课时为了让我们理解private修饰的成员被访问时的一些特点,在一个存在私有成员的类里面,set()和get()一般是成对出现的,从方法名也可以看出来get()是用来获取所访问的成员内容的。如果在后面的程序中,某个方法需要传入age作为参数,那么通过调用speak()传入显然无法实现,这就需要调用get()获取返回值,传入相应的方法。
作者: ~路@人#甲~    时间: 2013-9-3 12:36
比如后边需要计算这个人10年后的岁数,那么就需要get方法来获取age,而你的speak只是把信息打印出来,不能操作数据!




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