简单来说,spuer就是父类的方法或者属性,this就是当前的类的方法或者属性
- 首先贴代码,这father和sun都有一个name属性,test里面会实例化sun的一个test方法
package javatest.supertest;
public class FatherTest {
protected String name="father";
public void print(){
System.out.println("This is father");
}
}
package javatest.supertest;
public class SunTest extends FatherTest {
private String name="sun";
public void print(){
System.out.println("This is sun");
}
public void test(String name){
System.out.println(name);//这里生成的是test传进来的形参
System.out.println(this.name);//这里生成的是SunTest中自带的name属性
System.out.println(super.name);//这里是生成了一个FatherTest的name属性
}
}
```java
package javatest.supertest;
public class Test {
public static void main(String[] args) {
SunTest sunTest=new SunTest();
sunTest.test("Test");
}
}
- 这里的输出就很明显了

本文通过一个Java代码示例,详细解释了`super`和`this`关键字在类继承中的作用。`super`用于访问父类的属性和方法,而`this`则指代当前类的对象。在`SunTest`类的`test`方法中,分别打印了传入参数、当前类的`name`属性和父类`FatherTest`的`name`属性,清晰展示了它们的区别。
580

被折叠的 条评论
为什么被折叠?



