java中super和this的用法
时间: 2024-04-26 11:26:53 浏览: 178
在Java中,super和this都是关键字,用于访问父类和当前类的成员变量和成员方法。
super关键字可以用来访问父类的成员变量和成员方法。在子类中,如果存在与父类同名的成员变量或成员方法,可以使用super关键字来区分。例如,super.成员变量可以访问父类的成员变量,super.方法名()可以调用父类的方法。
this关键字可以用来访问当前类的成员变量和成员方法。在类的方法中,如果存在与成员变量同名的局部变量,可以使用this关键字来区分。例如,this.成员变量可以访问当前类的成员变量,this.方法名()可以调用当前类的方法。
此外,this还可以用来调用当前类的构造方法,例如this()表示调用当前类的无参构造方法,this(参数列表)表示调用当前类的有参构造方法。这种调用构造方法的方式称为构造器委托。
总之,super和this关键字在Java中是非常重要的,可以帮助我们访问父类和当前类的成员变量和成员方法,同时也可以用来调用构造方法。
相关问题
java中this和super的用法
在Java中,this和super是关键字,用于访问当前对象和父类对象的成员变量和方法。
this关键字用法如下:
1. 在实例方法中,可以使用this关键字引用当前对象的成员变量和方法;
2. 在构造方法中,可以使用this关键字调用同一类的其他构造方法,或者调用父类的构造方法;
3. 可以使用this关键字作为方法的返回值。
super关键字用法如下:
1. 可以使用super关键字访问父类中的成员变量和方法;
2. 在子类构造方法中,可以使用super关键字调用父类的构造方法;
3. 可以使用super关键字作为方法的返回值。
具体来说,this关键字可以用于以下情况:
1. 区分成员变量和方法参数的同名问题;
2. 在构造方法中调用同一类的其他构造方法或者调用父类的构造方法;
3. 在方法中返回当前对象;
4. 在匿名内部类中引用外部类的成员变量。
而super关键字可以用于以下情况:
1. 在子类中访问父类的成员变量或者方法;
2. 在子类构造方法中调用父类的构造方法;
3. 在匿名内部类中引用父类的成员变量。
java中super和this的用法代码实现
下面是使用Java代码演示super和this关键字的用法:
```java
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
void sayHello() {
System.out.println("Hello, I'm " + name + ", " + age + " years old.");
}
}
class Student extends Person {
String school;
Student(String name, int age, String school) {
super(name, age); // 调用父类的构造方法
this.school = school;
}
void study() {
System.out.println(name + " is studying at " + school + ".");
}
void sayHello() {
super.sayHello(); // 调用父类的方法
System.out.println("I'm a student.");
}
}
public class Main {
public static void main(String[] args) {
Student s = new Student("Tom", 18, "ABC School");
s.sayHello(); // 调用子类的方法
s.study(); // 调用子类的方法
}
}
```
在上面的代码中,Person是一个父类,Student是一个子类。在Student的构造方法中,使用super关键字调用了父类的构造方法,以初始化父类的成员变量。在子类中,重写了父类的方法sayHello,并使用super关键字调用了父类的方法。在子类中还定义了一个自己的方法study,用来演示子类的成员方法。在Main类中,创建了一个Student对象s,并调用了它的成员方法。
阅读全文
相关推荐
















