解析Java中的this引用及对象构造初始化包含以下几个方面:
- this引用的作用
在Java中,this关键字代表当前对象。它可以用于访问当前对象的属性和调用当前对象的方法。通常情况下,当方法或构造器的形参与对象的成员变量重名时,我们可以使用this关键字来表示当前对象的成员变量。例如:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
在上面的示例中,因为构造器的形参与类的成员变量同名,使用this关键字来表示当前对象的成员变量。
- 对象的构造初始化
对象的构造初始化主要包括两部分内容,即成员变量的初始化和构造器的执行。
成员变量的初始化:当一个新的对象被创建时,对象的成员变量会先被初始化。对于类中的成员变量,如果没有被显式地初始化,Java会将它们设置为一些默认值。对于基本数据类型,它们的默认值为0或false;对于引用类型,它们的默认值为null。例如:
public class Person {
private String name; // 默认值为null
private int age; // 默认值为0
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
构造器的执行:当成员变量被初始化后,构造器会被执行。构造器是一个特殊的方法,用于创建对象并初始化它的状态。构造器的名称与类名相同,没有返回类型,可以有多个参数。例如:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
System.out.println("Person对象已经创建完成。");
}
}
在上面的示例中,当构造器被执行时,会输出一条信息,表示对象已经创建完成。
示例1:
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void display() {
System.out.println("姓名:" + this.name + "\t年龄:" + this.age);
}
}
public class Main {
public static void main(String[] args) {
Student s = new Student("张三", 18);
s.display();
}
}
在这个示例中,我们创建了一个Student对象,并调用它的display()方法来显示它的成员变量。在display()方法内部,我们使用了this关键字来访问当前对象的成员变量,从而输出它们的值。
示例2:
public class Car {
private String brand;
private String color;
private int price;
public Car() {
this.brand = "未知";
this.color = "黑色";
this.price = 0;
}
public Car(String brand, String color, int price) {
this.brand = brand;
this.color = color;
this.price = price;
}
public void display() {
System.out.println("品牌:" + this.brand + "\t颜色:" + this.color + "\t价格:" + this.price);
}
}
public class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car("奔驰", "白色", 1000000);
c1.display();
c2.display();
}
}
在这个示例中,我们创建了两个Car对象。第一个Car对象使用默认的构造器创建,第二个Car对象使用有参构造器创建,并传入了品牌、颜色和价格三个参数。在Car的构造器内部,我们使用了this关键字来引用当前对象的成员变量,并根据传入的参数来设置它们的值。在Car的display()方法中,我们同样使用了this关键字来访问当前对象的成员变量,并输出它们的值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中的this引用及对象构造初始化 - Python技术站