1 关键字 this
隐式参数(Page 106,java核心技术),表示当前类,在类定义的内部使用,用 this.成员变量名 区分成员变量和局部变量。
2 类变量(静态变量)——static标识符
静态变量的方法可以被该类的任何一个对象访问,任何一个对象去访问时,得到的值是一样的。(访问方法:类名.静态变量名 或者 对象名.静态变量名)
静态区域块
3 类方法(静态方法)——static标识符
类方法是属于一个类所有的实例的方法,形式如下:
访问修饰符 static 返回数据类型 方法名(){}
注意:静态方法不可以访问非静态变量;反之,非静态方法可以访问静态变量。
4 JAVA三大特征:封装、继承、多态
(1)封装
- 访问修饰符
访问级别 | 访问控制修饰符 | 类 | 包 | 子类 | 其他包 | |
1 | 公开 | public | ✔ | ✔ | ✔ | ✔ |
2 | 受保护 | protected | ✔ | ✔ | ✔ | ✘ |
3 | 默认 | default | ✔ | ✔ | ✘ | ✘ |
4 | 私有 | private | ✔ | ✘ | ✘ | ✘ |
- 包的作用:区分名字相同的类;管理类;控制访问范围。
(2)继承:父类public 、protected、default标识的属性和方法被子孙继承——一个父类的属性和方法不希望被继承时,可将其声明为private类型。
注意事项:
- 一个类只能继承一个父类
- 所有的类都是object的子类
- 除了类还有接口、异常、注释、错误、枚举
- JDK API
(3)多态
- 方法的重载(overload):一个类中,同一种功能的多种实现方式,到底选取哪种方式,取决于调用者给出的参数,四点要求:
- 方法名相同;
- 方式的参数的类型、个数、顺序至少有一个不同;
- 方法的返回类型可以不同;
- 方法的访问修饰符可以不同。
如果仅仅是3,或者仅仅是4,则不构成重载。
- 方法的覆盖(override),又叫方法的重写:子类和父类之间,子类的方法可以与父类方法的名称、返回值类型、参数一样,此时称子类方法覆盖了父类方法。两点要求:
- 子类、父类方法的名称、返回值类型、参数要完全一致;
- 子类方法不能不能降低父类方法的访问权限。
所谓多态:就是一个引用在不同状态下的多种状态,即通过指向父类的指针,调用在不同子类中实现的方法,多态通过继承和接口来实现。两点注意:
- 允许父类的引用变量引用其子类的实例(对象);
- 子类能不能转为父类???