Super方法总结

本文通过一个具体的Java示例,详细解释了如何使用super关键字来调用父类的方法,并探讨了其在子类方法覆盖中的作用及意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
在这里插入图片描述
我就在想子类中的suoer.display()方法有什么用,于是我自己写了2个类测试。
`package cn.itcast.b_test;

import sun.management.resources.agent;

public class lzm {

private int  age;
public int getAge() {
	return age;
}
public void setAge(int age) {
	this.age = age;
}

public lzm() {
	// TODO Auto-generated constructor stub
}

public void display () {
	System.out.println(this.getAge());
	System.out.println("父类");
}

}

package cn.itcast.b_test;
import java.util.List;
import org.junit.Test;
import org.eclipse.jdt.internal.compiler.ast.SuperReference;
import org.springframework.test.context.TestExecutionListeners;

import com.sun.org.apache.xalan.internal.xsltc.compiler.sym;
import com.sun.script.javascript.RhinoScriptEngine;


public class lzm1 extends lzm {
	
	public lzm1() {
		// TODO Auto-generated constructor stub
	}


	@Test
     public void display() {
		super.display();
    	 this.setAge(2);
    	 System.out.println(this.getAge());
    	 super.display();
    	 System.out.println(this.getAge());
    	 System.out.println("子类");
	}

}

在这里插入图片描述
上面是运行结果,我们可以看到子类的第一个super.display()就是调用父类中的方法,因为我没有设计父类中的age,所以默认是0.
当我在子类中this.setAge(2)使再调用父类中的方法,这时候就会将参数赋值给父类的属性。也就可以实现装饰类了。

那既然子类继承了父类中的方法,为什么要用super呢。
因为我们一般将子类也就是抽象类中的属性设为private,子类通过构造方法将属性值传给super(xx),再父类中的构造方法里this.xx=xx;那么子类也就可以访问改属性了。

引用:https://blog.youkuaiyun.com/zuoyang1990/article/details/53471494

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值