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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
* A:人类赋值年龄的问题
* B:private关键字特点
    * a:是一个权限修饰符
    * b:可以修饰成员变量和成员方法
    * c:被其修饰的成员只能在本类中被访问
* C:案例演示
    * 封装和private的应用:
    * A:把成员变量用private修饰
    * B:提供对应的getXxx()和setXxx()方法
    * private仅仅是封装的一种体现形式,不能说封装就是私有
*/
class Demo6_Test_Class {
    public static void main(String[] args) {
        //System.out.println("Hello World!");
        Person p1 = new Person();
        /*
        p1.name = "White";
        p1.age = -17;                                                //未私有前,有可能导致数据不安全;未设置setXxx()方法之前,异常无法抛出
        p1.speak();
        */
        p1.setAge(-17);                                                //变成方法后就可以写语句
        System.out.println(p1.getAge());
    }
}
/*
class Person{
    String name;
    int age;                                                        
    public void speak() {
        System.out.println(name + "..." + age);
    }
}
*/

class Person{
    String name = "Sunny";
    private int age  = 25;                                            //私有后,age仅能在本类中 进行访问,提高安全性

    //设置年龄
    /*
    public void setAge(int a) {
        age = a;
    }
    */
    public void setAge(int a) {                                        //设置setXxx()方法之后.可以添加语句对异常情况做判断,抛出异常
        if (a > 0 && a < 150){
            age = a;
        }else {
            System.out.println("Fuck!");
        }
    }

    //获取年龄
    public int getAge() {
        return age;
    }

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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马