Home

韧桂

思考,总结

面向对象的封装性练习

package six_one;
/**
 * 1.创建程序,在其中定义两个类:Person和TestPerson类。定义如下:
 *     用setAge()设置人的合法年龄(0~130),用getAge()返回人的年龄。
 *     在TestPerson类中实例化Person类的对象b,
 *     调用setAge()和getAge()方法,体会Java的封装性。
 */
public class TestPerson {
    public static void main(String[] args) {
//        Person p = new Person();
        Person p = new Person("戴沐白",20);
        p.setAge(19);//对原有的属性值进行修改,原有为 18
        System.out.println(p.getName() + ":" + p.getAge());
    }
}

class Person{
    public int age;
    private String name;
    public int getAge(){
        return age;
    }
    public void setAge(int a){
        if(a > 0 && a <= 130){
            age = a;
        }else {
//            System.out.println("您输入的数据有误");
            throw new RuntimeException("您输入的数据有误");
        }
    }
//    //1.利用构造器设置所有人的age属性初始值都为18。
//    public Person(){
//        age = 18;
//    }
    //2. 增加name属性,使得每次创建Person对象的同时初始化对象的age属性值和name属性值
    public void setName(String n){
        name = n;
    }
    public String getName(){
        return name;
    }
    public Person(String n,int a){
        name = n;
        age = a;
    }
}

韧桂 2019-12-24