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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Student
{

        private String name;
        private int age;
        public void setAge(int age)
        {
                if (age > 0)
                {
                        this.age = age;
                        speak();
                }
                else
                        System.out.println("年龄赋值不和法...");
        }
        public int getAge()
        {
                return age;       
        }
        public void speak()
        {
                System.out.println("");
        }
}

class StudentDemo
{
        public static void main(String[] args)
        {
                Student s = new Student();
                s.setAge(-30);
               
        }
}

按视频中所说将属性私有,对外提供公共方法setAge(),对导入的值进行判断确定是否将年龄赋值
这我还是能理解的。
只不过关于getAge()这个方法有什么意义吗?目的只是对赋值进行判断,这个getAge()方法总感觉
是多余的。
小弟刚看到这里,有点难理解,望各位指教一下

评分

参与人数 1黑马币 +3 收起 理由
杨佳名 + 3

查看全部评分

9 个回复

倒序浏览
按照数据库的说法对数据有增、删、改、查四种基本处理,在查询数据时,即查询对象的某一属性时就会用到相应的get方法了。
回复 使用道具 举报
封装就是不让你知道定义名字的行为只是提供共有的方法让你去设置数据的值和获取,这样程序更加安全。
回复 使用道具 举报
private的成员变量和方法,只能在本类中直接使用。
public的成员变量和方法,可以在类外使用。
如果你的age是private的,且又不提供public的getAge()方法,那么你再类的外面是访问不到age的。
public setAge()是在类外对类内private成员age进行设置值
public getAge()是在类外访问类内的private成员age,也就是说在类外访问age。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
受教了,又学到些知识
回复 使用道具 举报
duluhua 发表于 2014-12-22 10:27
private的成员变量和方法,只能在本类中直接使用。
public的成员变量和方法,可以在类外使用。
如果你的age ...

那也就是说需要访问private修饰的成员变量,我还需要走两步。
1:先调用setAge()给成员变量赋值
2:然后在用getAge()获取该值
意思是说如果只在这段演示的代码中是体现不出getAge()方法的作用的,这样理解没错吧
回复 使用道具 举报
reyzarc 中级黑马 2014-12-22 22:44:27
7#
是这样的
回复 使用道具 举报
顶顶idsng !!!!
回复 使用道具 举报
duluhua 中级黑马 2014-12-23 08:18:22
9#
jamsjun 发表于 2014-12-22 22:38
那也就是说需要访问private修饰的成员变量,我还需要走两步。
1:先调用setAge()给成员变量赋值
2:然后 ...

getAge()的作用就是访问类中private的成员变量,如果你不需要访问private的成员变量,那么getAge()就没什么意义,就像你代码中的情景。如果你需要访问private成员变量,那么getAge()就非常有用了。
回复 使用道具 举报
duluhua 发表于 2014-12-23 08:18
getAge()的作用就是访问类中private的成员变量,如果你不需要访问private的成员变量,那么getAge()就没什 ...

其实我就是想问这个,谢谢了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马