关键词: 封装; 消息;
体现封装,则需要掌握访问控制符public、 protected、 private、 “默认”的用法。 在java中这些修饰符可以修饰的地方有3种:
修饰类 修饰类的属性成员(域)修饰类的成员方法 类属性成员方法\类前修饰符public缺省publicABprotectedB或(B+C)B缺省BBprivateDD类属性成员方法从private到public权限依次增大
访问权限首先看类前的修饰符,当类的修饰符为public时, 则类可以被所有的类所访问(可以import),当为默认时, 则只能为包中的类所访问。在此前提下,再看方法前的修饰符。
类前修饰符为public时,当属性和方法前的修饰符为public时,则该属性可以被所有类访问;当属性和方法前为protected修饰时,对于类定义而言,可以被同包中的类和所有子类访问(子类和父类可以不在同一个包中),也就是B+C范围,但对于对象而言,只能被同一个包的类对象所访问,也就是B的范围;当为默认时,只能被同包中的类所访问(比protected访问权限小);当为private时,只能被本类内部所访问 。
消息的实质就是引用向对象发出的服务请求,是对数据成员 和成员方法的调用,例如 fp.name 和 fp.fire()就是发送消息。
能否发送消息取决于
引用必须引用了特定的对象,否则会在运行是抛出NullPointerException异常。对象必须定义了相应的属性或方法,否则编译不会通过。被访问的属性或方法必须具有可访问的权限。