您现在的位置是:java学习笔记 >
java学习笔记
java子类调用父类构造函数(方法)
本 文 目 录
本篇学习笔记我们主要来熟悉java子类调用父类构造函数(或构造方法)的过程。之前我们学习子类的时候,已经知道子类继承父类的时候自动继承父类的public,与protected的属性,直接通过super.xxx属性的方式即可调用,那么调用父类的构造函数,也是通过super关键字实现的。
一、子类在创建对象时会自动调用父类的构造函数
在Java中,子类在创建对象时会自动调用父类的构造函数,这个过程是通过super关键字来实现的。以下是一个例子:
public class Parent {
public Parent() {
System.out.println("Parent constructor called");
}
}
public class Child extends Parent {
public Child() {
super(); // 调用父类的构造函数
System.out.println("Child constructor called");
}
}
二、父类具有参数的构造函数,可以通过相应的参数传递给super()
例如,如果父类有一个接受字符串参数的构造函数,你可以这样调用它:
public class ParentClass {
public ParentClass(String message) {
System.out.println("父类的构造函数被调用,信息是:" + message);
}
}
public class ChildClass extends ParentClass {
public ChildClass() {
super("Hello from ChildClass"); // 调用父类带参数的构造函数
System.out.println("子类的构造函数被调用");
}
}
三、普通方法,子类可以直接调用父类的方法,也可以通过super关键字来调用
public class Parent {
public void printHello() {
System.out.println("Hello from parent class");
}
}
public class Child extends Parent {
public void printHello() {
super.printHello(); // 调用父类的方法
System.out.println("Hello from child class");
}
}
在这个例子中,当我们调用Child类的printHello方法时,它会先调用Parent类的printHello方法,然后再执行自己的代码。
- 上一篇
[详解] java子类能继承父类的私有属性吗?
类里面有一个很重的属性就是继承关系。那么java的子类是否能继承父类的私有属性呢?答案是不能。具体的解释如下:不能继承的原因:私有属性的主要目的是保护类的内部状态不被外部访问和修改。如果一个类的私有属性被其他类继承,那么这将破坏这个类的封装性,使得它的内部状态变得公开,这是设计者不希望看到的。不能继承不代表不能获取与修改:虽然子类不能直接继承父类的私有属性,但它可以通过父类的公共或受保护的属性或方
- 下一篇
一个java可以有多个父类?答案是错误的!
**一个Java类只能有一个直接父类。这是Java的单继承特性决定的。也就是说,你不能让一个类同时直接继承多个类。**## 可以通过接口实现多重继承的效果在Java中,一个类可以实现多个接口,这样可以间接地实现一种多重继承的功能。但请注意,这仍然不是真正的多重继承,因为接口只能包含抽象方法(Java 8以后接口可以有默认方法和静态方法,但不能有实例字段),而不能包含实例字段和具体的方法实现。一个