继承
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承可以理解为一个对象从另一个对象获取属性的过程。
继承中最常使用的两个关键字是extends和implements。
这两个关键字的使用决定了一个对象和另一个对象是否是IS-A(是一个)关系。
通过使用这两个关键字,我们能实现一个对象获取另一个对象的属性。
所有java的类均是由java.lang.Object类继承而来的,所以Object是所有类的祖先类,而除了Object外,所有类必须有一个父类。
继承两种方式:
extends方式
public class Animal(){}
public class Dog extends Animal(){}
通过使用关键字extends,子类可以继承父类的除private属性外所有的属性。
implements方式
public interface Animal(){}
public class Dog implements Animal(){}
Implements关键字使用在类继承接口的情况下, 这种情况不能使用关键字extends。
可以使用 instanceof 运算符来检验dog对象是否是Animal类的一个实例。
interface Animal{}
public class Dog extends Mammal{
public static void main(String args[]){
Dog d = new Dog();
System.out.println(d instanceof Animal);//true
}
}
Java只支持单继承(继承基本类和抽象类),但是我们可以用接口来实现(多继承接口来实现),脚本结构如:
public class Apple extends Fruit implements Fruit1, Fruit2{}
一般我们继承基本类和抽象类用extends关键字,实现接口类的继承用implements关键字。
创建类Animal类,并且创建Mammal类继承Animal类,创建Dog类继承Mammal类,在Dog类创建main方法,
创建Animal实体对象a,创建Mammal实体对象m,创建Dog类实体对象d,使用instanceof检验m是否 IS-A Animal,
d IS-A Mammal,d IS-A Animal