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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡家兵 中级黑马   /  2015-5-5 10:15  /  547 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Person
{
    private int age;
    public void setAge(int a)
    {
          if(a>0 && a<130)
          {
               age=a;
               speak();
           }
          else
               System.out.println("feifa");
    }
    public int getAge()
    {
          return age;
     }
   void speak()
   {
         System.out.println("age="+age);
   }
}
class PersonDemo
{
    public static void main(String[] args)
    {
         Person p=new Person();
          p.setAge(40)
    }
}
我想问这个程序里面setAge那段到底什么用啊?从头到尾都没看见怎么用。能删除吗

评分

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

查看全部评分

10 个回复

正序浏览
长姿势了
回复 使用道具 举报
有用啊,这个方法可以对age赋值并对age范围进行判断
回复 使用道具 举报
set成员变量是赋值 ,也可以用带参构造方法来赋值,二选一。
回复 使用道具 举报
删除后你就没法设置age的值的啊,它是私有的
回复 使用道具 举报
一般定义属性不会暴露出去给别人直接访问的,但总要让别人用到,所以要定义一个方法来设置和获取该属性。
回复 使用道具 举报
setage 为了设置age这个属性的值啊!age是private修饰的。
回复 使用道具 举报
其他类要想访问Person类中的私有成员-age,是不能直接访问到的,所以Person类提供了一个setAge()方法,你可以试一试,直接在主函数访问Person中私有的age,会报错:可以在Person中访问。
回复 使用道具 举报
最后不是用到了吗?p.setAage(40)?还有 你最后少了个分号
回复 使用道具 举报
一般情况下,属性都要private,所以有个get和set还是很有必要的~~
回复 使用道具 举报
setAge和getAge是同时出现的,意思,一个是设置值,一个返回值
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马