Java继承
Java继承是一个面向对象编程的概念,它允许子类(派生类)拥有父类的特征和行为,同时可以重写并添加它们的特有特征和行为。Java中使用关键字extends
声明一个类可以继承另一个类。
extends关键字
当一个类扩展另一个类时,被扩展的类被称为“父类”(superclass),扩展它的类被称为“子类”(subclass),因为它是从父类继承的。用extends
关键字,子类继承父类,可以使用父类已有的方法和字段,并且可以添加多个额外的方法和字段。
以下是一个简单的示例,其中Animal
类是Dog
类的父类:
class Animal {
public void eat() {
System.out.println("动物在吃");
}
}
class Dog extends Animal {
public void bark() {
System.out.println("狗在叫");
}
}
public class Main {
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.eat();
myDog.bark();
}
}
这个示例中,Dog
类继承了Animal
类。Dog
类有一个新的方法bark()
,同时保留了Animal
类中的eat()
方法。在main()
函数中,创建了一个Dog
类的对象myDog
,然后调用了Dog
类的eat()
方法和bark()
方法。输出结果是:
动物在吃
狗在叫
Dog
对象可以访问Animal
类的eat()
方法,因为它被继承了下来。
super关键字
Java中的super
关键字用来引用父类的方法和构造函数。子类可以使用super
关键字来调用父类的构造函数和方法。
构造函数调用父类构造函数的方式是在子类中使用super()
关键字。方法调用父类方法的方式是在子类中使用super.方法名
。如下所示:
class Animal {
protected String color;
public Animal(String c) {
color = c;
}
}
class Dog extends Animal {
private String breed;
public Dog(String b, String c) {
super(c);
breed = b;
}
public void printInfo() {
System.out.println("这只狗是" + color + "的" + breed);
}
}
public class Main {
public static void main(String[] args) {
Dog myDog = new Dog("牧羊犬", "棕色");
myDog.printInfo();
}
}
在这个示例中,Animal
类有一个带有color参数的构造函数。Dog
类有一个带有breed和color参数的构造函数,其中breed是增加的属性。注意,构造函数使用super(c)
来调用Animal
类的构造函数并传递颜色参数。在printInfo()
方法中,使用了color
和breed
属性来输出狗的颜色和品种。
在main()
函数中,创建了一个Dog
对象myDog
,并传递了"牧羊犬"和"棕色"作为参数。输出结果是:
这只狗是棕色的牧羊犬
通过此示例,可以看到子类如何访问父类的属性和构造函数。
以上就是Java继承与extends、super关键字的详细说明,希望这个攻略对你有些帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java继承extends与super关键字详解 - Python技术站