继承的概念
继承是面向对象里的基础,因为它允许建立有等级的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。这就是继承的概念。
在java中继承我们可以通过关键字extends来申明一个一个类继承另外一个类,一般的格式就如下所示
public class 父类{
}
class 子类 extends 父类 {
}
这就表示这,这个子类是继承了父类里面的东西。
我们打个比喻,就好比拿动物来表示,一般的动物都会有名字,吃东西,睡觉这三个,那么我们来建立一个类
public class Animal{
private String name;
public Animal(String myName) {
name = myName;
}
public void eat(){
System.out.println(name+"在吃");
}
public void sleep(){
System.out.println(name+"在睡");
} }
这是一个动物类,当我们想要建立某个动物的时候,我们会发现每个动物里面有会有这些数据,那么这个时候我们可以使用继承这个概念,就相当于把animal这个类当成父类来,建立其他的子类,也就是说,我们把相同数据都提取出来,放在一个父类里面然后继承它。这样可以使子类的维护性更高,也简单明了,也不需要写多次重复的代码了。
继承的特性
就是子类可以拥有父类的非private的属性和方法。也可以在子类中扩展,就是说,可以在子类加拥有自己的属性和方法。继承可以是单继承也可以是多继承,例如,A继承B,这是单继承,而多继承就是,A继承B,B继承C,C继承D这样的就是属于多继承。
继承的关键字
在java中我们定义继承时的关键字就extends关键字,它可以使我们定义一个继承的类。
extends关键字在java中可以实现单继承的作用,也就是说extens只能继承一个类。就是一个子类就只要一个父类。
public class dog extends Animal{
}
这就是extends关键字的作用。
而想表达多继承的关系,那就可以用implements关键字,当使用这个关键字的时候,我们可以继承多个类例如
public interface A {
public void eat();
public void sleep();
}
public interface B {
public void show();
}
public class C implements A,B {
}
使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。
这就是我对继承的理解,也希望大家多给我一点意见。