面向对象的三大特性: 封装, 继承, 多态
封装
封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节
继承:
子类拥有父类的属性和方法, 任何一个类都继承 Object (不管是java定义的还是自己定义的);;;
Object.finalize()-->调用这个方法来释放资源;
多态(执行期间(执行期间-->你在控制台上写 java 类名 运行某个文件的时候叫执行期间)的动态绑定, 池绑定):
重载(overload):
方法名相同, 只有参数类型不同或者参数个数不同, 返回值不同是不能构成重载的
重写(overwrite / override):
将父类的方法重新定义
--在子类中可以根据需要从父类中集成来的方法进行重写
--重写方法必须和被重写的方法具有相同的方法名, 参数列表和返回类型
--重写方法不能使用比被重写方法更严格的访问权限
toString方法的重写
equals方法的重写super, final关键字
super: 指向父类的引用
final的变量值不能改变
final的方法不能被重写
final的类不能被继承
对象转型(casting)
--父类的引用可以指向其子类的对象
--父类的引用不可以访问其子类对象新增的成员(包括属性和方法), 如果硬要访问-->强转
--可以使用instanceof关键字来判断一下这个变量是不是这个类或者是这类的子类