复写(Override)
复写发生在继承中,针对的是方法。从字面意思上我们可以这样理解,已经有了一个方法,现在重新定了一个方法,把原来的覆盖了。
如果父类中定义了一个在子类中可见的方法,子类重新了定义了个方法,该方法和父类中的方法名字、参数列表、返回值都是一样的,并且访问权限不小于父类中该方法的权限,那么称之为子类中的方法复写了父类中的方法。
class Base {
private void a(){}
protected void b(){}
public void c(){}
void d(){}
}
class Derived extends Base{
private void a(){}
public void b(){} //Override Base.b()
public void c(){} //Override Base.c()
public void d(){} //Override Base.d()
}
很显然,Dericed方法复写了Base类中的b、c、d方法,a方法并不是复写,因为Base中的a方法在Derived中是不可见的,当然谈不上复写。
隐藏(Hide)
隐藏(Hide)
隐藏发生在继承中,针对的是域、静态方法或者成员类型。
子类可以隐藏父类中可以访问到的具有相同名字的所有域、静态方法或者成员类型。隐藏一个成员会阻止其被继承。
class Base {
private int a = 0 ;
public int b = 0;
private static void a(){};
public static void b(){};
private class Student{}
public class Teacher{}
}
class Derived extends Base{
private int a = 1;//没有被隐藏,因为父类中的字段在子类中式不可见的
public int b = 1 ;//hide base.b
private static void a(){};//没有被隐藏,因为父类中的字段在子类中式不可见的
public static void b(){};//hide base.b
private class Student{}//没有被隐藏,因为父类中的字段在子类中式不可见的
public class Teacher{}//hide base.Teacher
}
重载(Overload)
重载针对的是方法,指的是两个方法具有相同的名字但具有不同的签名。
class Overload
{
public void f(int i){}
public void f(String i){}//是chongza
public int f(int i){}//错误,不能根据方法返回值进行重载,因为这样编译器
//会遇到问题,
}
遮蔽(Shadow)
一个变量、方法后者类型可以分别遮蔽在一个闭合的文本范围内的具有相同名字的素哟有变量、方法或者类型。如果一个实体被遮蔽了,那么你用它的简单名是无法引用到它的。
class Shadow
{
static String sentence = "Hello,world";
public static void main(String[] args)
{
String sentence = "hello,world";//Shadow static field
}
}
分享到:
相关推荐
重载与覆写/重写的区别 区别 重载 覆写 1 单词 OverLoading Override 2 概念 方法名称相同,参数的类型或个数不同 方法名称相同,参数的类型或个数相 同,返回值类型相同 3 范围 发生在一个类之中...
很多同学会重载和重写分不清楚,这篇文章主要介绍了详解java重载与覆写的区别,有需要的朋友可以了解一下。
主要介绍了Java的覆写操作,结合实例形式分析了java属性覆写及super调用父类方法覆写相关操作技巧,需要的朋友可以参考下
行业分类-设备装置-一种数据覆写方法
主要介绍了Java重写equals及hashcode方法流程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
JAVA工具精品新译<5>DJ Java Decompiler 3.12.12.96 32位老朽痴拙汉化特别版(JAVA反编译之王) 使用DJ Java Decompiler可用於 2000,XP,2003,Vista,Windows7, 32位环境.你可以反编译class文件并且可以保存为文本...
覆写
Spring Cloud 覆写远端的配置属性
Android 自定义view,覆写onMeasure例子
以下页面在运行中,调试输出的永远是alter('1'),原因是按照页面加载从上至下的顺序,同名的方法以最后一个为准.
共76页,内容清晰,可选择复制 设计变量命名/缩进/覆写等
Object类在Java里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较...
硬盘客体重用的安全等级保护覆写机制研究,清除
覆写Feign的默认配置-代码部分-代码部分.zip 覆写Feign的默认配置-代码部分博文中,优化后的服务消费者和服务提供者,以及Eureka Server、父级工程的源代码
《编写高质量代码:改善java程序的151个建议》一共12章,第1~3章针对java语法本身提出了51条建议,例如覆写变长方法时应该注意哪些事项、final修饰的常量不要在运行期修改、匿名类的构造函数特殊在什么地方等;...
基于覆写验证的云数据确定性删除方案
主要介绍了Spring Cloud 覆写远端的配置属性的相关知识,非常不错,具有参考借鉴价值,需要的朋友可以参考下
Linux内核漏洞利用技术:覆写modprobe_path 安全架构 安全架构 业务风控 系统安全 APT
PNW入门之got表覆写-附件资源