一.this关键字
this关键字最大的作用是让类中的一个方法访问类中的另外一个方法或实例成员变量。
在现实世界中,对象的一个方法依赖于另一个方法的情况非常常见。例如,吃饭的方法依赖于拿筷子的方法,编写程序的方法依赖于敲键盘的方法,这种依赖都是同一个对象两个方法之同的依赖。因此,Java允许对象的一个成员直接调用另一个成员,可以省略this前缀,即将run()方法修改为如下形式也是正确的。代码如下:
public void run(){
//其他代码省略
jump();
}
提醒省略this前缀只是一种假象,虽然程序员省略了调用jump()方法之前的this,但实际this依然存在
二.隐藏和分装
封装是面向对象的三大特性之一,它指的是将对象的状态信息藏在对象内部,不允许外部程序直接访问对象内
部信息,而是通过该类所提供的方法实现对内部信息的操作和访问。封装是面向对象编程语言对客观世界的模拟,客观世界中的属性均被隐藏在对象内部,外界无法直接操作和修改,如人的年龄属性只能随岁月的流逝而増加,通常不能随意修改人的年龄。对一个类或对象实现良好的封装,可以实现以下目的(1)隐藏类的实现细节。(2)让使用者只能通过事先预定的方法访问数据,从而可以在该方法中加入控制逻辑,限制对属性的不合理访问(3)可进行数据極査,人而有利于保证对象信息的完整性。(4)便于修改,提高代码的可维护性。实现良好的封装,需要人以下两个方面考虑:(1)隐藏对象的属性和实现细节,不允许外部直接访问。(2)暴露出方法,让方法控制对这些属性进行安全的访问和操作。因此,封装实际上有两个方面的含义:隐藏该隐藏的,暴露该暴露的。这两个方面都需要通过使用Java提供的访问控制符来买现。
三使用访问修饰符
private只是Java访问修饰控制符的一种,除 rivate i外,Java还提供了 default、 protected和 publico Java的访问控制级别从小到大,如图所示。
各访问权限的访问级别如下