让我来详细讲解一下“Java this super代码实例及使用方法总结”的完整攻略。
1. Java中this和super关键字的作用
在Java中,this和super是两个关键字,分别表示当前对象和父类对象。它们的作用主要有三个方面:
- 访问当前对象的成员变量和成员方法。
- 调用当前对象的构造方法和父类的构造方法。
- 传递当前对象和父类对象的引用。
2. Java中this关键字的使用方法
2.1 访问当前对象的成员变量和成员方法
使用this关键字可以访问当前对象的成员变量和成员方法。下面是一个使用this访问成员变量和成员方法的示例代码:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
}
public class Test {
public static void main(String[] args) {
Person p = new Person("Tom", 18);
System.out.println("Name: " + p.getName()); //输出:Name: Tom
System.out.println("Age: " + p.getAge()); //输出:Age: 18
}
}
2.2 调用当前对象的构造方法
使用this关键字可以调用当前对象的构造方法,这种调用必须放在构造方法的第一条语句位置。下面是一个使用this调用构造方法的示例代码:
public class Person {
private String name;
private int age;
public Person() {
this("Tom", 18); //调用Person(String, int)构造方法
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
2.3 传递当前对象的引用
使用this关键字也可以传递当前对象的引用给其他方法或构造方法。下面是一个使用this传递对象引用的示例代码:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void showMsg() {
System.out.println("Name: " + this.name + ", Age: " + this.age);
}
public void otherMethod() {
//调用showMsg方法,并传递当前对象的引用
this.showMsg();
}
}
3. Java中super关键字的使用方法
3.1 调用父类的构造方法
使用super关键字可以调用父类的构造方法,这种调用必须放在子类构造方法的第一条语句位置。下面是一个使用super调用父类构造方法的示例代码:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
public class Student extends Person {
private int grade;
public Student(String name, int age, int grade) {
super(name, age); //调用父类的构造方法
this.grade = grade;
}
}
3.2 调用父类的成员变量和成员方法
使用super关键字可以调用父类的成员变量和成员方法。下面是一个使用super调用父类成员变量和成员方法的示例代码:
public class Person {
protected String name;
protected int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void showMsg() {
System.out.println("Name: " + this.name + ", Age: " + this.age);
}
}
public class Student extends Person {
private int grade;
public Student(String name, int age, int grade) {
super(name, age);
this.grade = grade;
}
public void showMsg() {
super.showMsg(); //调用父类的showMsg方法
System.out.println("Grade: " + this.grade);
}
}
在上面的示例代码中,子类Student重写了父类Person的showMsg方法,在子类方法中使用super调用了父类的showMsg方法,并在打印输出后增加了学生的成绩Grade。
总结
this和super是Java中的两个关键字,它们分别表示当前对象和父类对象。在Java中,this和super主要有三个作用,分别是访问当前对象的成员变量和成员方法、调用当前对象的构造方法和父类的构造方法以及传递当前对象和父类对象的引用。以上我们通过示例代码详细讲解了this和super关键字在Java中的使用方法和技巧,希望对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java this super代码实例及使用方法总结 - Python技术站