在Java中,继承是一种面向对象的编程技术,它允许我们创建一个新的类,该类从现有的类中继承了所有的成员变量和成员函数。子类可以添加新的成员变量和成员函数,或者覆盖父类的成员函数。这种技术能够提高代码的重用性和可维护性,使得我们可以更加高效地编写Java程序。
在Java中,定义子类的语法如下:
class SubClass extends SuperClass {
// 成员变量
// 构造函数
// 成员函数
}
在上面的代码中,SubClass是子类,SuperClass是父类。子类从父类继承了所有的成员变量和成员函数。例如,下面是一个定义子类的示例:
class Square extends Rectangle {
public Square(double side) {
super(side, side);
}
}
在上面的代码中,Square是一个子类,它从Rectangle类继承了width和height成员变量和getArea成员函数。子类Square有一个构造函数,该构造函数使用关键字super调用父类Rectangle的构造函数来初始化width和height成员变量。
在Java中,子类可以覆盖父类的成员函数。覆盖就是在子类中定义一个与父类中同名的成员函数,该函数会覆盖父类中的函数。覆盖允许子类修改父类的行为,并实现自己的逻辑。例如,下面是一个覆盖Rectangle类的getArea成员函数的示例:
class Square extends Rectangle {
public Square(double side) {
super(side, side);
}
@Override
public double getArea() {
return width * width;
}
}
在上面的代码中,子类Square覆盖了父类Rectangle的getArea成员函数。Square的getArea函数返回正方形的面积,而不是矩形的面积。
在Java中,子类可以使用关键字super来访问父类的成员变量和成员函数。例如,下面是一个使用super关键字的示例:
class Square extends Rectangle {
public Square(double side) {
super(side, side);
}
@Override
public double getArea() {
return super.getArea();
}
}
在上面的代码中,子类Square覆盖了父类Rectangle的getArea成员函数。Square的getArea函数使用关键字super调用父类的getArea函数,以便获取矩形的面积。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。