运行这个程序得到结果
我今年18岁了。 我今年20岁了。如果年龄为负数会怎么样?
package java自学博客; public class TestStudent { public static void main(String[] args) { Student stu=new Student(); stu.name="Tom"; stu.age=-25; stu.printOut(); } } ------------- Tom今年-25岁为了解决年龄不能为负数的问题,在设计一个类时,应该对成员变量的访问做出一些限定,不允许外界随意访问,这就需要实现类的封装。 所谓类的封装是指在定义一个类时,将类中的属性私有化,即使用private关键字来修饰。 私有属性只能在它所在的类中被访问,如果外界想访问私有属性,需要提供一些使用public修饰的公有方法,其中包括用于获取属性值的getXxx方法和设置属性值的setXxx方法。
Person.java
package java自学博客; public class Person { String name ; private int age; public void show(){ System.out.println(name+"的年龄是"+age); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { if(age>0&&age<150){ this.age = age; } else System.out.println("您输入的年龄不合法!"); } }DemoPerson.java
package java自学博客; public class DemoPerson { public static void main(String[] args) { Person person = new Person(); person.setAge(-18); person.name="Tom"; person.show(); } } 您输入的年龄不合法! Tom的年龄是0