java中使用this关键字调用构造方法
时间: 2023-06-16 14:06:19 浏览: 145
在Java中,可以使用this关键字调用同一个类中的构造方法。这种技术被称为构造方法重载或构造方法重复。在调用构造方法时,可以使用this关键字传递参数并调用另一个构造方法。
以下是使用this关键字调用构造方法的示例:
```
public class Person {
private String name;
private int age;
public Person() {
this("John Doe", 30);
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
```
在上面的示例中,第一个构造方法调用了另一个构造方法,使用了this关键字并传递了默认值。这样,第二个构造方法就会被调用并设置实例的属性值。
相关问题
可以在一个构造方法中使用this关键字调用另一个构造方法,也可以在该类的普通方法中使用this关键字调用构造方法( )。
在Java中,使用`this`关键字可以在构造方法内部调用另一个构造方法,这通常发生在需要初始化某些字段时,当一个构造方法需要完成一些基本设置后再调用其他特性相关的构造函数。此外,在普通方法中使用`this`关键字可以用来调用当前类的构造方法,主要是为了在某个特定上下文中创建一个新的实例,而不是直接new一个对象。例如:
```java
public class Person {
private String name;
private int age;
// 使用this调用其他构造方法
public Person(String name) {
this(name, 0);
}
public Person(String name, int age) {
this.name = name;
this.age = age; // 调用当前构造方法
}
// 在普通方法中调用构造方法
public void setAddress(String address) {
Person p = new Person("John"); // 创建新的Person对象
// ...
}
}
```
如果一个类中定义了多个重载的构造方法,为了避免在重载的构造方法中重复书写代码,可以在一个构造方法中使用this关键字调用其它的构造方法。为了掌握this关键字访问构造方法的用法,本实验练习如何使用this关键字调用其他的构造方法。 1) 在Student类中创建多个重载的构造方法,包括无参的构造方法和一个参数的构造方法,以及两个参数的构造方法。 2) 在一个参数的构造方法中使用this关键字调用无参构造方法,在两个参数的构造方法中调用一个参数的构造方法。 3) 编写测试类,在main()方法中,调用两个参数的构造方法创建对象,演示构造方法的执行顺序。
好的,以下是示例代码:
```java
public class Student {
private String name;
private int age;
public Student() {
System.out.println("调用了无参构造方法");
}
public Student(String name) {
this(); // 使用this调用无参构造方法
this.name = name;
System.out.println("调用了一个参数的构造方法");
}
public Student(String name, int age) {
this(name); // 使用this调用一个参数的构造方法
this.age = age;
System.out.println("调用了两个参数的构造方法");
}
}
public class Test {
public static void main(String[] args) {
Student student = new Student("张三", 18);
}
}
```
输出结果为:
```
调用了无参构造方法
调用了一个参数的构造方法
调用了两个参数的构造方法
```
可以看出,当我们调用两个参数的构造方法时,会先调用一个参数的构造方法,再调用无参构造方法,最后再调用两个参数的构造方法。这是因为我们在一个参数的构造方法中使用了this关键字调用了无参构造方法。
阅读全文