Java继承是一种面向对象的编程概念,使一个类可以拥有另一个类的属性和方法。这种父子关系指的是子类从父类继承了一部分属性和方法。子类可以覆盖父类的方法和属性,但同时子类也可以新增自身独有的属性和方法。继承可以避免重复编写代码,提高代码的重用率,也使代码更加易于维护。
Java继承的规则
Java继承的规则如下:
一个类只能继承一个直接的父类,也就是所谓的单继承。
一个类可以同时继承多个接口,也就是所谓的多实现。
子类不可以访问父类中的private属性和方法,但可以通过public或protected修饰的方法进行访问。
子类通过super关键字可以调用父类中的非private属性和方法。
子类可以覆盖父类中的方法和属性,属性覆盖通过定义同名属性来实现,方法覆盖通过定义同名和同类型的方法来实现。
父类的构造方法不能被子类继承,但可以通过super()调用父类中的构造方法。
Java继承的示例
下面通过一个例子来展示Java继承的使用。
class Shape { private String color; public Shape(String color) { this.color = color; } public String getColor() { return color; }}class Rectangle extends Shape { private double length; private double width; public Rectangle(String color, double length, double width) { super(color); this.length = length; this.width = width; } public double getArea() { return length * width; }}public class Test { public static void main(String[] args) { Rectangle rectangle = new Rectangle("blue", 3, 4); System.out.println(rectangle.getColor()); // output: blue System.out.println(rectangle.getArea()); // output: 12.0 }}
这个例子中,我们定义了一个Shape类和一个Rectangle类,Rectangle类继承了Shape类。Shape类拥有一个color属性和一个getColor方法,Rectangle类新增了两个属性length和width和一个getArea方法,可以计算出矩形的面积。在main方法中,我们创建了一个Rectangle对象,并分别调用了getColor和getArea方法,输出了其返回值。
以上就是关于Java继承的规则的详细解释,希望对大家有所帮助。