Java编程语言中类的继承

在软件构造实验3中,我们多次用到了继承的思想

继承是面向对象的开发过程中的一个非常重要的概念,通过继承,我们可以使用之前定义的成员方法和成员变量,经过简单的程序编码就可以在已有类的基础上增加新的功能。

Java程序设计语言通过继承机制,在现有类的基础上定义一个新的类,并在原有类的基础上添加新的方法或修改原有方法,从而提高编程效率、减少错误概率。

继承是通过关键字extends来声明的,其格式为:

[修饰符] class 类名 extends 父类名

public class bird extends animal {

}

bird类继承了animal类,即animal类是bird类的直接父类(或直接超类),bird是animal类的直接子类。

我们简单的编写animal类,使它作为bird类的父类

public class animal {
	
	public boolean live;
	public String name;
	public final boolean canFly;
	
	public animal(boolean canFly)
	{
		this.canFly = canFly;
	}
	
	public void getName()
	{
		System.out.println(name);
	}
}

我们用eclipse创建子类时,在指定包、类名的同时,还可以指定继承的超类(父类)和实现的接口。

我们可以在Superclass中输入或选择我们要继承的父类。

eclipse自动为我们生成了代码。

package P1;

public class bird extends animal {

}

此时,eclipse向我们报错,因为我们在父类中写了一个构造方法,eclipse提醒我们为子类添加构造方法。

我们选择让eclipse自动添加构造方法,得到了如下代码。

package P1;

public class bird extends animal {

	public bird(boolean canFly) {
		super(canFly);
		// TODO Auto-generated constructor stub
	}

}

我们编写一个program来验证一下,子类bird是否继承了animal的成员方法与成员变量

package P1;

public class program {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		bird eagle = new bird(true);
		eagle.name = "Eagle";
		eagle.live = true;
		eagle.getName();
	}

}

 运行结果如下


版权声明:本文为piapia12138原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。