java中的继承(inheritance)

继承inheritance

继承在Java中的定义:利用继承,人们可以基于已经存在的类来构造一个新的类。继承已存在的类可以复用这个类的方法和域(变量),在这个基础上还可以添加一些新的域和方法,用以满足新的需求。
extends关键字用来定义子类。
示例如下:

public class Rectangles extends Shapes{
/*

*/
}

这样我们就定义了一个新的类Rectangles他继承于Shapes类,Rectangles类成为Shapes类的子类。反过来说Shapes类是Rectangles类的父类(超类)。
在定义子类的时候我们只需要指出他与父类的不同之处,就是父类中拥有的一切属性和方法在子类中可以不用重新声明,即可被子类继承,但是子类中声明的属性和方法却不能被父类所使用。
下面我们用示例来做说明:
编辑工具使用Eclipse
我们来创建三个Java文件,分别为Shapes.java、Rectangles.java和测试文件Demo.java

Shapes.java(父类)示例代码如下:

public class Shapes {
	private int width;
	private int height;
	public int getWidth() {
		return width;
	}
	public void setWidth(int w) {
		width=w;
	}
	public int getHeight() {
		return height;
	}
	public void setHeight(int h) {
		height=h;
	}
	public String getType(String t) {
		return t;
	}
}

在Shapes.java(父类)文件中我们定义了两个int类型的属性width和height,因为是使用的private私有访问,所以我们分别给他定义了两个get和set方法用于属性的读取和设置。

Rectangles.java(子类)示例代码:

public class Rectangles extends Shapes{
	public int getArea(int w,int h) {
		return w*h;
	}
	public int getArea() {
		return getWidth()*getHeight();
	}
}

在Rectangles.java(子类)中我们创建了两个方法,用来获得面积。这两个方法的方法名看似相同,但是他们的参数列表是不一样的(在同一个类中方法名的区别是用方法名和参数列表组成)。

测试文件Demo.java示例代码如下:

public class Demo {
	public static void main(String[] args) {
		Rectangles rect=new Rectangles();
		rect.setHeight(100);
		rect.setWidth(100);
		System.out.println(rect.getArea());
		System.out.println(rect.getArea(50, 50));
	}
}

在测试文件Demo.java中我们创建了Rectangles对象类的实例rect 。我们可以看到,调用setHeight(),setWidth()这两个方法,并没有在Rectangles中进行定义和创建,它是继承了它的父类中的方法。所以我们可以在子类中直接使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值