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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 路边小色狼 于 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();
}
}

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

3 个回复

倒序浏览
首先说一句哈:你自己的代码里的方法是你写出来的,需不需要应该要知道啊!

你的则个getAge()方法和speak()方法的作用在这里肯定不一样的啊,你定义了一个私有的成员age,外部需要使用这个age只能通过getAge()方法获得。  而 你的那个speak()方法只是一个简单地打印语句罢了。

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
这个只是老师上课时为了让我们理解private修饰的成员被访问时的一些特点,在一个存在私有成员的类里面,set()和get()一般是成对出现的,从方法名也可以看出来get()是用来获取所访问的成员内容的。如果在后面的程序中,某个方法需要传入age作为参数,那么通过调用speak()传入显然无法实现,这就需要调用get()获取返回值,传入相应的方法。

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
比如后边需要计算这个人10年后的岁数,那么就需要get方法来获取age,而你的speak只是把信息打印出来,不能操作数据!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马