封装
1.程序追求“高内聚,低耦合”,类的内部数据操作细节自己完成,不允许外部干涉,仅暴露少量的方法给外部使用
2.属性私有 ,定义属性时用修饰符private ; 可提供操作私有属性的方法为public的get 和 set方法在IDEA中Alt+insert选择后就会自动生成get和set方法
3.封装的作用:提高程序的安全性,保护数据;隐藏代码的实现细节;统一接口;系统可维护增加
继承
1.继承使用extends关键字 子类 extends 父类 , Java只有单继承,没有多继承
2.子类继承了父类,就会拥有了父类的全部的公共方法和属性,私有的东西无法被继承
3.Java中所有的类都默认直接或者间接继承Object类
4.子类能调用的方法是自己的或者是继承的父类的,而父类只能调用自己的
5.super是调用父类的构造方法,且必须是构造方法的第一个
6.super只能出现在子类的方法或者构造方法中
super和this
1.代表的对象不同:this代表本身调用者这个对象,super代表父类对象的应用
2.前提:this没有继承也可以使用,super只能在继承条件下才可以使用
3.构造方法:this()调用的是本类的构造,super()调用的是父类的构造
4.super和this不能同时调用构造方法
重写
1.重写是方法的重写,与属性无关
2.父类的引用可以指向子类
3.静态方法的调用和"="左边的有关,非静态的方法需要重写
4.对象能执行的方法看“=”左边的类型,跟右边关系不大
5.重写的前提:需要有继承关系,子类重写父类的方法
6.重写的几个特点:方法名必须相同;参数列表必须相同;修饰符范围可以扩大但是不能缩小;抛出的异常的范围可以缩小但是不能扩大
7.不能重写的:static修饰的方法、private修饰的方法、final的常量池
多态
1.多态是方法的多态,属性没有多态
2.多态存在的前提:有继承关系;子类重写父类方法;父类引用指向子类对象
3.一个对象的实际类型是确定的,但是可以指向的引用类型就不确定了
4.子类重写了父类的方法后,如果父类指向的引用类型是子类,那么在调用方法时,只会调用子类重写后的方法