1.继承
2.instanceof
1.继承
1.1 继承
继承让我们更容易实现类的扩展。实现了代码的重用,不用重复写轮子(don't reinvent wheels)。
- 父类也称做超类、基类、派生类等。
- Java中只有单继承。(接口有多继承)
- 子类继承父类,可以得到父类的全部属性与方法(除了父类的构造方法),但是不见的可以直接访问
- 如果定义一个类时,没有调用extends,则它的父类时:java.lang.Object
1.2 方法重写(override):
子类通过重写父类的方法,可以用自身的行为替换父类的行为。(方法重写是实现多态的必要条件)
注意:
1.“==”: 方法名、形参列表相同。
2.“≤”:返回值类型和声明异常类型,子类小于等于父类。
3.“≥”: 访问权限,子类大于等于父类。
package cn.yan.oo;
/**
* @author yanl
* @date 2019-11-18 5:40 下午
*/
public class TestOverride {
public static void main(String[] args) {
Horse h1 = new Horse();
h1.run();
}
}
class Vehicle{
public void run(){
System.out.println("running...");
}
public void stop(){
System.out.println("stop!");
}
public Person whoIspsg(){
return new Person();
}
}
class Horse extends Vehicle{
public void run(){
System.out.println("四条腿跑");
}
// 返回值类型 子类小于等于父类
public Student whoIspsg(String name,int age, int height, String major){
return new Student(name, age, height, major);
}
// 子类返回值类型大于父类,报错
public Object whoIspsg(){
}
}
2.instanceof
二元运算符,左边是对象,右边是类;
当对象是右边类或子类所创建的对象时,返回true;否则,返回false。
System.our.println(stu instanceof Student);
网友评论