一、instanceof运算符
1.instanceof运算符的作用
instanceof运算符属于二元运算符,instanceof左边是对象,右边是类名,用来判断对象是否为类或类的子类的对象。 若是返回true,否则返回false。
2.调用格式
对象名 instanceof 类名
3.样例代码
运行结果
二、方法的重写(Override)
1.方法重写的作用
方法重写也叫方法覆盖,子类通过重写父类的方法,可以用自身的行为替换父类的行为,从而扩展父类方法的功能来满足自身的需求。方法的重写是实现多态 的必要条件。注意:子类重写父类的方法后在对象调用时会先调用子类重写后的方法,也就是说子类重写方法后,父类的方法会被覆盖。
2.方法重写需要遵循的条件
- 子类重写的方法名称、形参列表必须与父类的方法完全相同
- 子类重写的方法的返回值类型和异常声明类型必须小于等于父类的方法
- 子类重写的方法的访问权限必须大于等于父类的方法
(对2的理解说明:比如,父类是Person,子类是Student,我们可以说学生是人,但不能认为人一定是学生)
3.方法重写与方法重载的区别
- 条件不同:重载要求重载后的方法的形参列表、参数类型,返回值类型与原方法不同,但方法重写要求与父类完全一致。
- 使用场景不同:方法重载可以存在于Java程序中任意地方,而方法重写只是对于继承时的父类、子类而言。
4.样例代码
运行结果
三、final关键字
1.final关键字的作用
- 修饰变量: 被final修饰的变量一旦赋了初值,其值就不能再被改变
例如:final int a=100; - 修饰方法: 被final修饰的方法不能被子类继承,但可以进行重载
例如:public final void display(){}; - 修饰类: 被final修饰的类不能被继承,如Java中的Math、String就不能被继承
例如:final class A{}
2.代码说明