`

[原创]java里的变量隐藏、方法覆盖、方法隐藏

    博客分类:
  • java
阅读更多

永久地址:http://justt0.iteye.com/admin/blogs/new

 

变量:变量只会隐藏不能被覆盖,子类的实例变量/静态变量会隐藏父类同名的实例变量/静态变量,注意“/”这个符号,说明总共有4种隐藏方式。

方法:方法有两种方式,被隐藏/覆盖,同名的静态方法被隐藏,同名的实例方法被覆盖,交叉的形式会报错。

父类:

 

package testjava;

public class Father {
	public String name = "father";

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
}

 子类:

package testjava;

public class Child extends Father{
	public String name = "child";

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

 测试类:

package testjava;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Child c = new Child();
		System.out.println(c.name);
		System.out.println(c.getName());
		Father f = c;
		System.out.println(f.name);
		System.out.println(f.getName());
	}

}

总结;

1. 可以通过改变父类/子类变量name的类型(实例变量/static变量)测试变量的隐藏效果。

2. 可以通过改变父类/子类getName()方法的类型(如果方法是static的,需要将方法所属类name变量的类型也该为static),然后你就会发现,同名的static方法子类会隐藏父类的方法,而同名的实例方法子类会覆盖父类的方法,交叉形式的重写行为不会被编译器允许。

 

永久地址:http://justt0.iteye.com/admin/blogs/new

1
4
分享到:
评论

相关推荐

    方法和变量在继承时的覆盖和隐藏问题

    具体到Java语言,方法覆盖(即方法重写)有一些限制: 1. 子类中的方法签名必须与父类中的被覆盖方法完全一致,包括返回类型(Java 5以后,子类方法的返回类型可以是父类方法返回类型的子类型)。 2. 子类覆盖的方法...

    java环境变量一键设置

    Java环境变量配置 在"系统变量"下进行如下配置: (1)新建->变量名:JAVA_HOME变量值:D:\Java\jdk1.6.0_12(这只是我的JDK安装路径) (2)编辑->变量名:Path在变量值的最前面加上:%JAVA_HOME%\bin;%JAVA_HOME%\jre\...

    Java成员变量局部变量静态变量成员方法全局方法等概念的区

    在Java编程语言中,了解和区分不同类型的变量和方法是至关重要的。这关系到程序的结构、内存管理和代码的可维护性。以下是关于Java成员变量、局部变量、静态变量以及成员方法和全局方法的基本概念和区别的详细阐述。...

    安装java环境变量

    需要注意的是,在Linux系统中设置Java环境变量的命令和方法会有所不同,但基本原理相同。在Linux中,可能需要编辑如.bashrc或/etc/profile等文件,然后使用export命令来设置环境变量。无论在哪种操作系统中,设置...

    Java环境变量设置

    ### Java环境变量设置详解 #### 一、Java环境变量的重要性 在计算机系统中,环境变量是一种重要的配置方式,用于指示操作系统或程序如何运行。对于Java开发者来说,正确配置Java环境变量是确保Java程序能够顺利...

    Java环境变量设置.txt

    Java环境变量设置,.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; %JAVA_HOME%\bin %JAVA_HOME%\jre\bin

    设置Java环境变量

    Java环境变量的设置是每个Java开发者都需要掌握的基本技能。它涉及到三个主要的环境变量:JAVA_HOME、PATH和CLASSPATH,这些变量确保系统能够正确找到Java的安装位置、可执行文件以及类库。以下是对这些环境变量的...

    在Java中实现Oracle变量的绑定方法 .doc

    在Java中实现Oracle变量的绑定方法,主要是为了优化SQL语句的执行效率,减少数据库解析负担,提升系统性能。Oracle数据库在处理SQL语句时,会先进行解析,然后将解析后的SQL语句存储在共享池(Shared Pool)中。如果...

    java环境变量配置

    Java环境变量配置是Java开发和运行的关键步骤,它涉及到JDK的安装路径、类路径(ClassPath)的设定以及Java的执行路径(Path)的指定。本文将详细讲解这两种环境变量配置方法,并针对开发工具Eclipse和服务器软件...

    Java环境变量设置和测试

    本文将深入探讨Java环境变量的设置及其重要性,并提供一些测试方法来验证设置是否正确。 首先,我们关注的是三个主要的Java环境变量:JAVA_HOME、PATH和CLASSPATH。 1. **JAVA_HOME**: - 这个变量指向Java SDK的...

    75.java成员变量与局部变量.zip

    75.java成员变量与局部变量.zip75.java成员变量与局部变量.zip75.java成员变量与局部变量.zip75.java成员变量与局部变量.zip75.java成员变量与局部变量.zip75.java成员变量与局部变量.zip75.java成员变量与局部变量....

    java环境变量一键配置

    总的来说,理解Java环境变量的含义和配置方法对Java开发者至关重要,而“java环境变量一键配置”提供了快速设置这些变量的途径,极大地提高了工作效率。不过,了解背后的工作原理同样重要,这有助于解决可能出现的...

    自定义添加linux系统java环境变量脚本及安装包

    本资源为二狗自己编写的快速定义java环境变量的脚本,可以帮助你剩下不少时间,操作前建议备份/etc/profile文件:mv /etc/profile{,.bak} 防止脚本问题覆盖掉文件的内容 资源分为脚本和安装包两部分内容,放置在同一...

    JAVA环境变量的设置方法

    JAVA环境变量的设置是开发JAVA应用程序的基础步骤之一,它确保了操作系统能够正确识别并调用JAVA的运行环境。本文将详细解析如何在Windows系统中设置JAVA环境变量,以确保JAVA开发环境的正常运行。 ### 一、理解...

    Java环境变量配置方法.txt

    里面有java环境变量配置详细方法

    win10下配置java环境变量的方法

    3. 在系统变量里添加以下变量:新建系统变量JAVA_HOME,java的安装路径。 4. 新建系统变量CLASSPATH,输入如下值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar。注意前面的小数点也要带上。 添加path变量: 1. ...

    windows7_下java环境变量配置方法

    windows7_下java环境变量配置方法

    xp下设置java环境变量

    在Windows XP系统中,配置Java开发环境是每个Java开发者必须掌握的基本技能。本文将详细讲解如何设置Java环境变量,帮助新手快速入门。...希望这篇图解能够帮助新手快速掌握在Windows XP下设置Java环境变量的方法。

Global site tag (gtag.js) - Google Analytics