关于覆写——Override
1.覆写:子类定义了与父类相同的方法或属性,这样的操作就称为覆写(Override)
2.子类定义了与父类方法名称、参数类型及个数完全相同的方法,但是被覆写不能拥有比父类更为严格的访问控制权限。
3.当调用某个方法的时候,如果该方法已被子类所覆写,则调用的一定是被覆写过的方法。
class Person{public void print(){System.out.println("1,父类的print()方法");}
}
class Student extends Person{public void print(){System.out.println("2.子类的print()方法");}
}
public class Override {public static void main(String[] args){new Student().print();Student s=new Student();s.print();}
}
4.三种访问控制权限:private<default<public (private最严格)
即: 如果父类使用public进行方法声明,那么子类也必须使用public;如果父类使用default,那么子类可以使用default或者public.
5.以后写方法最好用:public ,其次是:private
class Person{public void fun(){this.print();}private void print(){System.out.println("1.[Person]类的print方法");}
}
class Student extends Person{public void print(){ //该方法与父类中的方法没有任何关系System.out.println("2.[Student]类的print方法");}
}
public class Override{public static void main(String[] args){new Student().fun();}
}
6.属性的覆盖:子类定义了和父类一样的属性,就是属性的覆盖
7.这种操作基本没意义,类中的属性都要求使用private封装,一旦封装了,子类不知道父类具有什么属性,就不存在覆盖!
class Person{public String info="Person";
}
class Student extends Person{public String info="Student";
}
public class Override{public static void main(String[] args){System.out.println(new Student().info);}
}
覆写和重载的区别:
1.方法的覆写(Override) 继承
子类重写了父类的一个方法:方法名称相同,形参列表相同,返回类型要相同。
特例:允许返回值类型是父类方法返回类型的子类
2.方法的重载(Overload)
方法名称相同,形参列表不同。
方法的签名:方法名称+形参列表
覆写/重写的共同点:
一定发生在子类上的,必须实现和父类联系。
1.方法名称+形参列表+返回值相同的方法;
2.目的:针对同一行为,表现出和父类不同的方式;
3.访问限定符不能比父类的更加严格;
4.一般建议用@Override注解修饰;
5.IDEA可用generate code来自动生成。
关于覆写——Override相关推荐
- 重载(Overload )和覆写(override)的理解及区别
(因为看书时没有理解它们,今天看msdn的webcast感觉很易懂,就记了下来) 重载Overload特点(两必须一可以) public bool withdraw(double amt, strin ...
- 关于java方法的重载(Overloading),覆写(Override)以及final 方法的几点说明
昨天在一个群里面一个群友问道final 方法可不可以重载,我不假思索的说final 方法不能继承不能重载.后来晚上睡不着觉想想总觉得不对头,翻翻书一看自己简直就是胡说八道,才意识到这些基础概念的东西时 ...
- Java中方法的重载(overload)与重写/覆写(override)
重载-Overload 函数的方法参数个数或类型不一致,称为方法的重载. 从含义上说,只要求参数的个数或参数的类型不一致就说两个函数是重载函数,而至于返回值是否一样,没关系.同时,重载可以发生在同一个 ...
- java中的几个术语(覆写override,隐藏hiding,重载overload,遮蔽shadowing,遮盖obscuring)
今天看完<Java Puzzlers>的第八章,里面各种name reuse,章节最后做了一个非常细致的总结! Overriding(覆写) 一个实例方法可以override它的父类中可以 ...
- 遮掩java_关于java中的覆写、重载、隐藏、遮掩、遮蔽
最近在重新学习java,发现了以前未发现的几个概念,从网上搜索了一些资料,现在整理下.对于我来说,以前只是知道java中的覆写 重载和隐藏,这次却发现还有遮掩和遮蔽这两个概念.下面是整理的一篇文章. ...
- JAVA和遮掩_JAVA 你不知道的秘密 覆写,重载,隐藏,遮蔽,遮掩
覆写(override) 一个实例方法可以覆写(override)在其超类中可访问到的具有相同签名的所有实例方法,从而使能了动态分派(dynamic dispatch):换句话说,VM 将基于实例的运 ...
- 08方法重载,覆写,多态
文章目录 重载overload 方法的覆写 多态 定义 实现一个程序 利用多态 优化 如何在子类中调用被覆盖的父类方法 finally修饰词 重载overload 我们在C语言中,函数名就是不同函数的 ...
- Java 之 覆写, 重载, 隐藏, 遮蔽, 遮掩
文章目录 覆写(override) 存在于子类与父类间 重载(overload) 存在于类内部 隐藏(hide) 存在于子类和父类间 遮蔽 (shadow) 存在于 类内部 遮掩(obscure) 存 ...
- Java面向对象:覆写与重载
override和overload是非常容易混淆的概念. 一.override override是"覆写",是子类实现接口,或者继承父类时,保持方法签名完全相同,实现不同的方法体, ...
最新文章
- 现在很火的答题赢钱游戏,让我来简单教你怎么做自动答题器
- “中台不就是微服务吗?有啥区别?”
- 免费送书啦!《3D计算机视觉:原理、算法及应用》一本全搞定
- illegal escape character in String literal
- python录入学生信息网_干货满满 | Python趣味编程教学实践
- FPGA开发全攻略—— 调试
- 了解git的命令行使用
- Matplotlib作业一
- idea中查看maven依赖树
- 宝塔如何备份网站_宝塔备份网站怎样还原_服务器备份数据恢复教程
- jdbc 连接 mysql 的字符串
- 整理一下Entity Framework的查询
- nginx https 根据应用不同的标识转发到不同的服务器端口
- Java代码操作数据库(上)——JDBC(JDBC、JUnit、PreparedStatement) 练习
- 计算机地址输入法教案,计算机教案(输入法
- 智能音箱全国产化电子元件推荐方案
- javaScript入门,新手小白也能会
- 金多多配资盘面预测收益大于风险
- FrankMocap:A Monocular 3D Whole-Body Pose Estimation System via Regression and Integration 2021阅读理解
- WinRAR 被曝严重安全漏洞;苹果预计推出跨平台应用
热门文章
- 吉林大学计算机初剑锋,RC4算法的密码分析与改进.pdf
- springboot进行controller单元测试
- 如何快速对人像进行处理?只需使用ON1 Portrait AI即可轻松完成修饰。
- 窗帘门帘布艺装修网站搭建模板
- 【ARM】ARM(2440)嵌入式开发全套视频教程|tiny210文档的阅读
- 圆角边框(border-radius属性、border-radius使用规则)
- 批量对图片进行分割(不是裁剪)
- 从火炬传递看搜狐奥运赞助商优势
- 深度学习与智能故障诊断学习笔记(三)——RNN与LSTM推导详解
- 计算机大学生夏令营广告语,武汉大学计算机学院2016年优秀大学生暑期夏令营活动实施方案...