为什么需要封装
在正式讲解如何实现类的封装之前,先通过一个程序来了解一下为什么需要对类进行封装,如文件1所示。
文件1 Example03.java
1 class Person{
2 String name;
3 int age;
4 public void speak(){
5 System.out.println("我叫"+name+",今年"+age+"岁了");
6 }
7 }
8 public class Example03 {
9 public static void main(String[] args) {
10 Person p = new Person();
11 p.name = "张三";
12 p.age = -18;
13 p.speak();
14 }
15 }
运行结果如图1所示。
图1 运行结果
在文件1的第12行代码中,将年龄赋值为一个负数-18,这在语法上不会有任何问题,因此程序可以正常运行,但在现实生活中明显是不合理的。为了避免出现这种不合理的问题,在设计一个Java类时,应该对成员变量的访问作出一些限定,不允许外界随意访问,这就需要实现类的封装。