Java中的方法隐藏

与重写类似,方法的重写是子类覆盖父类的对象方法

隐藏,就是子类覆盖父类的类方法

步骤 1 : 父类

父类有一个类方法 :battleWin

package charactor;

public class Hero {
public String name;
protected float hp; //类方法,静态方法
//通过类就可以直接调用
public static void battleWin(){
System.out.println("hero battle win");
} }

步骤 2 : 子类隐藏父类的类方法

package charactor;

public class ADHero extends Hero implements AD{

    @Override
public void physicAttack() {
System.out.println("进行物理攻击");
} //隐藏父类的battleWin方法
public static void battleWin(){
System.out.println("ad hero battle win");
} public static void main(String[] args) {
Hero.battleWin();
ADHero.battleWin();
} }

练习隐藏

Hero h =new ADHero();

h.battleWin(); //battleWin是一个类方法

h是父类类型的引用

但是指向一个子类对象

h.battleWin(); 会调用父类的方法?还是子类的方法?

答案

虽然h指向的是一个子类对象,但是依然调用的是父类的类方法。

甚至在h指向一个空对象null的时候,也能够成功调用battleWin().

所以和h指向哪个对象无关,只和h的类型有关系。

当然,也不建议通过对象去调用类方法,而应该直接通过类去调用类方法,从而规避理解上的歧义。

最新文章

  1. 如何区别数据库删除语句drop与delete与truncate?
  2. asp.net identity 3.0.0 在MVC下的基本使用 序言
  3. 异步|同步&阻塞|非阻塞
  4. android绘制view的过程
  5. 01 Hibernate错题分析
  6. 翻译:通往WinDbg的捷径(一)
  7. arcgis android 加载google切片 天地图切片 并且能进行缓存
  8. DEEP LEARNING IS THE FUTURE: Q&A WITH NAVEEN RAO OF NERVANA SYSTEMS
  9. android httpClient 支持HTTPS的访问方式
  10. action中list传到JSP中取不到值的问题
  11. jQuery serialize()方法获取不到数据,alert结果为空
  12. 企业移动化?AppCan教你正确的打开方式
  13. DirectX11--深入理解与使用缓冲区资源
  14. php 二维数组根据值进行排序
  15. CodeForces - 893C Rumor【并查集】
  16. ffmpeg 图像转视频 视频转图像
  17. Centos7部署kubectl命令行工具(五)
  18. linux 命令使用方法(随时更新)
  19. 论 微服务 和 Entity Framework 对 数据 的 割裂
  20. Linux cp 强制覆盖

热门文章

  1. 跳过__wakeup()魔法函数
  2. tensorflow运行时错误:服务似乎挂掉了,但是会立刻重启的.
  3. 利用easyui的行编辑自动增加一行来进行增删有详细注解
  4. @Path注解
  5. Windbg源代码窗口的使用
  6. pytest--常用插件
  7. UNIX网络编程卷1 - >环境搭建(ubuntu16.04)
  8. quick 中 "我的项目" 中的列表从那里来的?
  9. 关联分析-MIC
  10. 微信公众平台开发(150)——从新浪云SAE上传图片到图文消息