“类的使用”编程规范(一)

1调用静态方法的注意事项
当子类继承父类的静态方法时,如果直接用实例来调用就会将子类中的静态方法隐藏,结果显示为父类的静态方法。

package Task;public class car {public void run() {System.out.println("没吃士力架,跑不起来");}public  static  void shape() {//父类静态方法System.out.println("汽车人,变形 ,咔咔咔咔咔咔");}}class Chevrolet extends car {public void run() {System.out.println("士力架 横扫饥饿!!!");}public static  void shape() {//子类静态方法System.out.println("汽车人,变形 ,咔咔咔咔咔咔,对不起我不是大黄蜂");
}
}
package Task;public class carTest {public static void main(String[] args) {// TODO Auto-generated method stubcar car1=new car();car car2=new  Chevrolet();car1.run();car2.run();car1.shape();//实现父类静态方法car2.shape();//目标实现子类的静态方法System.out.println("----------------------------------------");car car3=new  Chevrolet();Chevrolet.shape();//使用类名来实现子类静态方法}
}

结果分析 :
实例化的car2 调用shape()方法,显示的结果是汽车人,变形 ,咔咔咔咔咔咔(父类的静态方法),说明car2调用静态方法实现的是父类的静态方法而不是子类静态方法。

Java里面覆写(重写)、重载、隐藏、遮蔽、遮掩 的区别。
重写:重写存在于父类和子类之间,当子类继承父类的方法时,重新定义继承父类的方法为了特定的行为 也就是子类覆盖父类的对象方法
重写时要加上@Override注解,当我们在写子类继承来的父类方法时,出现方法名,参数错误时,就会在编译时报错,使问题早早发现。

重载:同一个类中的函数或者方法有相同的名称,但是函数或者方法的参不同,里面的方法体内容可能相同也可能不同。
隐藏:父类中存在静态方法,子类继承父类的静态方法,就是子类覆盖父类的方法

package Task;
public class animal {private String name;public void animal(String name) {this.name=name;}public void eat() {System.out.println("狼吞虎咽");}public static void sleep() {System.out.println("闭上眼睛睡觉");}
}
package Task;public class animal2 extends animal{@Overridepublic void eat() {//子类继承父类 重新定义继承父类的方法为了特定的行为 称为重写(覆写)System.out.print("细嚼慢咽");}//-------------------------------------------public void run(int n) {//同命不同参数 在同一个类里写不同的行为System.out.println("用几条腿跑");}public void run(String u) {//与第一个run不同的是参数类型System.out.println("没有腿 是蛇");}public void run(int m,int z) {//与第一个不同的是参数的个数System.out.println("是一条海蛇");}public static void sleep() {System.out.println("我是条鱼,我想闭眼但是我没有眼皮,只能睁着眼睛睡觉");}public static void main(String[] args) {animal.sleep();animal2.sleep();//隐藏 子类覆盖了父类的方法}
}

遮蔽:在同一个类中,声明的变量, 方法或类,和另一个变量, 方法或类重名,从而被遮挡,简单的例子就是(全局变量和局部变量同名,在一部分情况下全局变量被局部变量遮掩而失效)

 String name,weigth;public void animalName(String name) {this.name=name;//细节遮蔽String weigth;//最简单遮蔽}

遮掩 在同一个范围里,一个变量或一个类型可以遮掩一个包。

 String System;public static void main(String[] args) {System.out.println("System");}

“类的使用”编程规范(一)覆写(重写)、重载、隐藏、遮蔽、遮掩相关推荐

  1. Java 之 覆写, 重载, 隐藏, 遮蔽, 遮掩

    文章目录 覆写(override) 存在于子类与父类间 重载(overload) 存在于类内部 隐藏(hide) 存在于子类和父类间 遮蔽 (shadow) 存在于 类内部 遮掩(obscure) 存 ...

  2. [你必须知道的.NET]第十七回:貌合神离:覆写和重载

    本文将介绍以下内容: 什么是覆写,什么是重载 覆写与重载的区别 覆写与重载在多态特性中的应用 1. 引言 覆写(override)与重载(overload),是成就.NET面向对象多态特性的基本技术之 ...

  3. 遮掩java_关于java中的覆写、重载、隐藏、遮掩、遮蔽

    最近在重新学习java,发现了以前未发现的几个概念,从网上搜索了一些资料,现在整理下.对于我来说,以前只是知道java中的覆写 重载和隐藏,这次却发现还有遮掩和遮蔽这两个概念.下面是整理的一篇文章. ...

  4. JAVA和遮掩_JAVA 你不知道的秘密 覆写,重载,隐藏,遮蔽,遮掩

    覆写(override) 一个实例方法可以覆写(override)在其超类中可访问到的具有相同签名的所有实例方法,从而使能了动态分派(dynamic dispatch):换句话说,VM 将基于实例的运 ...

  5. java中的几个术语(覆写override,隐藏hiding,重载overload,遮蔽shadowing,遮盖obscuring)

    今天看完<Java Puzzlers>的第八章,里面各种name reuse,章节最后做了一个非常细致的总结! Overriding(覆写) 一个实例方法可以override它的父类中可以 ...

  6. Java面向对象:覆写与重载

    override和overload是非常容易混淆的概念. 一.override override是"覆写",是子类实现接口,或者继承父类时,保持方法签名完全相同,实现不同的方法体, ...

  7. Java中field的覆写_Java中方法的覆写

    [套装4本]java编程思想4第4版+ 402.5元 包邮 (需用券) 去购买 > 一.方法的重写概念 之前说了子类如果继承了一个父类,那么子类就会拥有父类的方法(不包括构.造方法)和属性,此时 ...

  8. review——C# (6)虚方法和覆写方法

    FROM P125 在上一节中看到,当使用基类引用访问派生类对象时,得到的是基类的成员.虚方法可以使基类的引用访问"升至"派生类内. 可以使用基类引用调用派生类(derived c ...

  9. “华为云企业级Java编程规范”学习笔记

    一."Java基础语句"编程规范 Switch 语句要有defualt分支,除非Swich的条件变量是枚举类型; 多条件分支语句最后应包含一个else分支; 二."类的使 ...

最新文章

  1. 分布式技术追踪 2017年第十五期
  2. [翻译] RKCardView
  3. 信息系统项目管理师论文范文-干系人管理
  4. 计算机录入员考试题及答案,计算机录入员理论考题及答案.docx
  5. Android绘制(三):Path结合属性动画, 让图标动起来!
  6. Java类集框架 —— LinkedHashMap源码分析
  7. Ubuntu 12.04 LTS 键盘快捷键(转)
  8. 05—JDBC(2)
  9. C# Web页面打印网页
  10. 推荐适合胖mm大码 连衣裙 显瘦女装穿搭
  11. 贪婪洞窟2一直显示连接服务器失败,《贪婪洞窟2》登陆失败解决方法 进不去怎么解决...
  12. 隐私保护技术之差分隐私
  13. 解决Chorme使用google搜索结果无法打开的问题
  14. BaseAdapter 的notifyDataSetInvalidated 和notifyDataSetChanged
  15. 位运算的一些技巧总结
  16. 开源OA协同办公平台搭建教程丨服务器端命令:数据导入导出及配置
  17. 哈工大-计算机系统-2022 | 大作业
  18. weakauras教程_魔兽世界:WeakAuras 教程3利用WA基础完成标准监控套件
  19. Volo.Abp 整合 WebApiClient 从请求中获取 Headers 信息
  20. Fedora 14 安装 GeForce GT 330M nVidia 驱动及声卡设置

热门文章

  1. Oracle trunc 函数用法详解
  2. Ubuntu16.04下PyCharm2019.3无法使用搜狗输入法解决办法
  3. macOS 系统Evernote(印象笔记) 迁移到语雀
  4. 7-16 圆形体体积计算器 (10 分)
  5. IntelliJ IDEA - Java类闪电符号意义
  6. 自注意力机制超级详解(Self-attention)
  7. 信息安全学习(不断更新),希望可以坚持下去。
  8. drive下载 synology_synology drive安卓下载-drive 安卓版v2.2.0-PC6安卓网
  9. LaTeX模板中英文的双标题——subfigure中的子标题实现
  10. ajax异步请求及案例