一、继承
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。关键字
继承要点:
- 父类也称作超类、基类、派生类等。
- Java中只有单继承,没有像C++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。
- Java中类没有多继承,接口有多继承。
- 子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。
- 如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object。
二、instanceof运算符
instanceof是二元运算符,左边是对象,右边是类;当对象是右面类或子类所创建对象时,返回true;否则,返回false。
三、示例
Cat类继承了Animal类,并使用 instanceof 判断 cat 是不是 Animal 或 Cat 类所创建的对象
public class TestExtends {
public static void main(String[] args) {
Cat cat = new Cat("咪咪",2,"白色");
cat.info(); //调用自身的方法
cat.rest(); //调用父类的方法
System.out.println(cat instanceof Animal);
System.out.println(cat instanceof Cat);
}
}
class Animal{
String name;
int weight;
void rest(){
System.out.println("我现在想休息一会!");
}
}
class Cat extends Animal{
String color; //毛色
public Cat(String name,int weight,String color) {
//天然拥有父类的属性
this.name = name;
this.weight = weight;
this.color = color;
}
void info() {
System.out.println("我叫"+name+" 体重: "+weight+"kg, 毛色为"+color);
}
}