1.封装
有public、protect、private 三种控制权限
可以修饰类、属性成员、方法
下表为修饰类和类属性成员与方法时,可以被谁访问
类前修饰符(行)\ 类属性成员与方法(列) |
public |
默 认 |
public |
所有类 |
package中的类 |
protect |
(对象层面)package中的类,(类定义层面) package中的子类 |
package中的子类 |
默认 |
package中的类 |
package中的类 |
private |
本类 |
本类 |
-
消息
引用对象调用数据成员和成员方法的形象过程
ATTENTION:“发消息”的条件
- 引用必须真实引用了三个条件
- 被访问对象必须定义了相应的属性或方法
- 被访问对象的属性或方法具有可访问的权限
2.继承
继承只能单继承,只有一个父类,用extend关键字使两个类发生继承关系
子类可以共用父类的公有属性和公有方法
如果两者都实例化,是两个不同的对象,内存地址不共用
ATTENTION:
继承父类的时候,是在生成子类对象的时候,将父类和子类的非静态的属性复制到子类对象中(不复制方法,继承的部分方法只是可以被访问,private不被继承)
若子类中没有重新定义父类已有的同名属性,则修改公有属性就是修改父类的公有属性,即父类的属性会一起改变
3.多态
多态指一个程序中同名但不同方法共存的情况。Java有两种多态机制——重载和负载
ATTENTION:
1.子类方法覆盖父类方法时,子类的访问修饰符权限应等于或大于父类
2.同名的static方法和非static方法不能互相覆盖
3.方法前有final ,此方法不能在子类中进行覆盖
4.若父类为抽象方法,具体子类必须对抽象方法进行覆盖