Java中的super限定

本文介绍了Java中的super关键字,包括如何使用super访问父类的方法或属性,以及如何通过super限定访问父类成员变量,并讨论了子类如何隐藏父类变量。

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

一 super限定介绍
Java中允许通过关键字super来调用父类的方法或属性。
super不能出现在static修饰的方法中。

 

二 通过super限定访问父类的成员变量
1 代码示例

class BaseClass
{
	public int a = 5;
}
public class SubClass extends BaseClass
{
	public int a = 7;
	public void accessOwner()
	{
		System.out.println(a);
	}
	public void accessBase()
	{
		// 通过super来限定访问从父类继承得到的a实例变量
		System.out.println(super.a);         //a
	}
	public static void main(String[] args)
	{
		SubClass sc = new SubClass();
		sc.accessOwner(); // 输出7
		sc.accessBase(); // 输出5
	}
}

 2 运行结果
7
5
3 结果分析
a变量在子类和父类都定义了。当系统创建SubClass对象时,实际上为SubClass对象分配两块内存,一块用于存储在SubClass类定义的a实例变量,一块用于存储从BaseClass类继承得到的a实例变量。
a处代码通过super限定访问从父类得到的a实例变量。

 

三 子类隐藏父类定义变量的内存运行图
1 代码示例

class Parent
{
	public String tag = "父类";         //①
}
class Derived extends Parent
{
	// 定义一个私有的tag实例变量来隐藏父类的tag实例变量
	private String tag = "子类";         //②
}
public class HideTest
{
	public static void main(String[] args)
	{
		Derived d = new Derived();
		// 程序不可访问d的私有变量tag,所以下面语句将引起编译错误
		// System.out.println(d.tag);         //③
		// 将d变量显式地向上转型为Parent后,即可访问tag实例变量
		// 程序将输出:“父类”
		System.out.println(((Parent)d).tag);         //④
	}
}

 HideTest.java
2 运行结果
父类
3 结果分析



 
程序先创建一个Derived对象,这个对象保存两个tag实例变量,一个是父类的,一个是子类的,此时程序中包括一个d变量,引用了一个Derived对象,内存示意图如上。
程序在④行代码处先将d变量强制向上转为Parent类型,再通过它来访问tag实例变量是允许的,此时系统将访问1行粗体代码处定义的tag实例变量。

"sgmediation.zip" 是一个包含 UCLA(加利福尼亚大学洛杉矶分校)开发的 sgmediation 插件的压缩包。该插件专为统计分析软件 Stata 设计,用于进行中介效应分析。在社会科学、心理学、市场营销等领域,中介效应分析是一种关键的统计方法,它帮助研究人员探究变量之间的因果关系,尤其是中间变量如何影响因变量与自变量之间的关系。Stata 是一款广泛使用的统计分析软件,具备众多命令和用户编写的程序来拓展其功能,sgmediation 插件便是其中之一。它能让用户在 Stata 中轻松开展中介效应分析,无需编写复杂代码。 下载并解压 "sgmediation.zip" 后,需将解压得到的 "sgmediation" 文件移至 Stata 的 ado 目录结构中。ado(ado 目录并非“adolescent data organization”缩写,而是 Stata 的自定义命令存放目录)目录是 Stata 存放自定义命令的地方,应将文件放置于 "ado\base\s" 子目录下。这样,Stata 启动时会自动加载该目录下的所有 ado 文件,使 "sgmediation" 命令在 Stata 命令行中可用。 使用 sgmediation 插件的步骤如下:1. 安装插件:将解压后的 "sgmediation" 文件放入 Stata 的 ado 目录。如果 Stata 安装路径是 C:\Program Files\Stata\ado\base,则需将文件复制到 C:\Program Files\Stata\ado\base\s。2. 启动 Stata:打开 Stata,确保软件已更新至最新版本,以便识别新添加的 ado 文件。3. 加载插件:启动 Stata 后,在命令行输入 ado update sgmediation,以确保插件已加载并更新至最新版本。4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值