详解Java中使用extends关键字继承类的用法
在Java中,我们可以使用extends
关键字继承已有的类,这样子就可以在原有类的基础上进行扩展和功能添加。本文将详细讲解extends
关键字的用法。
语法规则
在Java中,使用extends
关键字继承类的语法规则如下:
class SubClass extends SuperClass {
// 一些其它代码
}
其中,SubClass
表示子类,SuperClass
表示父类(或者叫超类、基类),通过关键字extends
进行继承。这样子SubClass
就直接包含了SuperClass
的内容和方法,可以在其基础上进行功能扩展。
需要注意的是,Java中类的继承是单一继承,也就是说一个子类只能有一个父类。
简单示例
下面展示一个简单的使用extends
关键字继承类的示例:
class Animal {
public void move() {
System.out.println("动物可以移动");
}
}
class Dog extends Animal {
public void move() {
System.out.println("狗可以跑和走");
}
}
public class TestDog {
public static void main(String args[]) {
Animal a = new Animal();
Animal b = new Dog();
a.move();
b.move();
}
}
输出结果如下:
动物可以移动
狗可以跑和走
这个示例展示了extends
关键字的使用,子类Dog
继承了父类Animal
的所有方法和属性,然后又添加了move
方法的具体实现。在TestDog
类中,首先创建了一个Animal
对象,其次创建了一个Dog
对象,并将其赋值给字类引用。
在调用move
方法时,a
对象调用父类的move
方法输出动物可以移动
,而b
对象同样调用了move
方法,由于Dog
类的move
方法覆盖了父类的方法,因此输出了狗可以跑和走
。
使用super关键字访问父类的方法和属性
当我们在子类中重写了父类的方法时,有时候需要使用super
关键字访问父类的方法或者属性。同时也可以在子类的构造函数中使用super
关键字调用父类的构造函数。
我们通过一个线段的实例来演示一下:
class Line {
protected int length;
public Line(int length) {
this.length = length;
}
public void printLength() {
System.out.println("线段的长度为: " + length);
}
}
public class Subline extends Line {
private int start, end;
public Subline(int start, int end, int length) {
super(length);
this.start = start;
this.end = end;
}
public void printLength() {
super.printLength();
System.out.println("线段的起点和终点分别是: (" + start + "," + end + ")");
}
public static void main(String[] args) {
Subline line = new Subline(1, 2, 5);
line.printLength();
}
}
输出结果如下:
线段的长度为: 5
线段的起点和终点分别是: (1,2)
在这个例子中,我们定义了一个Line
类,其中包含一个属性length
和一个打印长度的方法printLength
。然后我们在Subline
类中继承了Line
类,并添加了起点和终点两个属性。
在Subline
类中,我们定义了一个构造函数,同时使用super
关键字调用了父类的构造函数。我们还重写了父类的printLength
方法,使用super
关键字调用了父类的printLength
方法,并添加了新的信息输出。最后在主函数中我们创建了一个Subline
对象,并调用其printLength
函数进行输出。
通过这个例子可以看出,使用super
关键字可以方便的调用父类的方法和属性,同时也可以在子类中覆盖父类的方法并添加新的功能。
结语
本文详细讲解了Java中使用extends
关键字进行类的继承,包括语法规则和示例讲解。同时也演示了如何使用super
关键字访问父类的方法和属性,以及如何在子类中覆盖父类的方法并添加新的功能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Java中使用externds关键字继承类的用法 - Python技术站