1-1、封装
(1)封装的定义:隐藏类的内部信息,不允许外部程序直接访问,通过方法进行操作
(2)封装的操作步骤:
第一步:将属性设置为私有的private,只能在本类中使用
第二步:编写对应属性的赋值Set和取值get方法
1-2、继承
(1)继承的操作步骤(关键字 extends)
第一步:编写父类,[修饰符] class 类名{ 属性和方法 }
第二步:编写子类 [修饰符] class 子类类名 extends 父类类名{ }
注释:
1、当一个类没有指明具体继承哪个父类时,则默认继承object类
2、object类是所有类的父类,也叫作超类(基类),子类也叫作派生类
3、子类继承父类,但是不能继承父类的构造方法
4、一个类只能继承一个直接父类,也就是类是单根性(单继承)
5、类具有传递性,如:B继承C,A继承B,那么A具有B和C的属性和方法
(2)重写override
1、在子类中重写父类的方法,必须与父类的方法名称、参数列表一致
2、返回类型一致或父类方法返回类型的子类类型
3、修饰符不能缩小范围
子类不能重写:静态方法、属性、构造方法、私有方法
注意:在重写方法中,访问实例变量时(也就是成员变量),默认前面添加this.
但是当使用this.访问实例变量时,系统自动会优先在当前类寻找,
换句话说如果没有添加this.则会先在子类中寻找,找不到再去父类
(3)关键字super
1、super表示超类或父类。且super只能在子类中使用
2、可以访问父类中的实例变量、方法。还可以访问父类的构造方法
(4)实例化子类,父类做了什么?
当实例化子类且无输出语句时,程序先跳到子类相对应的构造方法中,
接着再跳到父类构造方法执行相应的构造方法,再执行子类的相应构造方法
如果在子类中指定了super带参还是无参构造方法,程序会根据代码执行相应的构造方法
1-3、 多态
(1)多态语法格式(满足条件):
1、父类类名 引用名称 = new 子类类名();
2、子类重写父类方法
注意:当是多态时,该引用名称只能访问父类中的属性和方法,
并且优先访问子类中"重写"以后的方法.
多态:同一个父类,new(实例化)出不同的子类,调用同一个方法,得到不同的结果
(2)多态俩种类型转换
1、向上转型,也叫做自动类型转换
父类类型 引用名称 = new 子类类名();
2、向下转型(强制转换)
当是多态时,并且访问子类独有的属性或方法时,则必须进行向下转型
子类 子类引用名称 = (子类) 父类引用名称
java中,instanceof运算符的前一个操作符是一个引用变量,后一个操作数通常是一个类(可以是接口),用于判断前面的对象是否是后面的类,或者其子类、实现类的实例。如果是返回true,否则返回false。
也就是说:
使用instanceof关键字做判断时, instanceof 操作符的左右操作数必须有继承或实现关系