覆盖

子类扩展父类获得父类当中的方法和成员变量,可是父类中的某些方法,不适合子类本身,所以则需要重写,子类

定义父类方法的过程就是方法的覆盖,字段不能被覆盖,只能被隐藏

用static描述的属性和方法可以被继承,但是不能被覆盖,无法形成多态,static修饰的变量或方法会存在于方法区,当虚拟机开始编译字节码时就存放进去,当关闭虚拟机时才从内存中移出,一直占用空间,我们在用对象调用静态变量和静态方法是没有意义的,运行时只看这个所要用的静态变量和静态方法是哪个类的,用的就是哪个类里的静态变量和静态方法。可以用子类.静态名或方法,编译器会自动把子类类名转为静态方法所属类的类名

如果在子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法,覆盖的方法访问权限必须等于或大于被覆盖的方法

被覆盖的方法可以通过super.方法名调用

为了更方便判断是否为覆盖,可以在方法名前一行添加注解 @Override 让编译器检查该方法是否正确实现覆盖

public class Newperson {

String name;

String sex;

void run(String name){

System.out.println(name+"正在开车前往学校");

}

}

class Student extends Newperson{

@Override//如果@Override出现红色下划线,着没有重写成功否则成功

void run(String name){

System.out.println(name+"正在骑车赶往学校");

}

public static void main(String[] args) {

Student passerby = new Student();

passerby.name = "小明";

passerby.run(passerby.name);

}

}

小明正在骑车赶往学校

进程已结束,退出代码 0

隐藏

子类和父类拥有相同的字段,子类会隐藏父类

子类中拥有和父类相同的静态方法,也称为隐藏,不是静态方法的方法则为覆盖

被隐藏的方法想要调用的话可以使用super.字段或方法进行调用

本类字段也会被隐藏 例如在构造函数中 想要通过new创建实例时传递参数,这里的参数名一般和字段名相同,

Person(String name,String sex){

this.name = name;

this.sex = sex;

}

如果不带this的话则就相当于把name又覆盖name了,当上this就相当于Person.name = name;这里的this代表当前所调用类的地址

java隐藏类_java Class类中隐藏和覆盖的区别相关推荐

  1. java隐藏密钥_java – 在Android中隐藏密钥库密码的最佳方法是什么?

    我是Android开发和实现SSLSockets的新手.在做了一些挖掘后,我能够设置一个正常工作的简单服务器/客户端.我认为实现可以使用一些工作,并且难以将密码加载到密钥库而不用纯文本.这是客户端的一 ...

  2. java 内存类_Java学习——类的生命周期和内存

    常识是本能,有足够的常识便是天才.--肖伯纳 一.类的生命周期 类的生命周期:1.加载:将二进制流加载进来.class 2.连接: 验证:确保加载进来的数据不会损害虚拟机 准备:为类变量分配内存,附默 ...

  3. java filereader类_Java FileReader类

    FileReader类从InputStreamReader类继承而来.该类按字符读取流中数据.可以通过以下几种构造方法创建需要的对象. 在给定从中读取数据的 File 的情况下创建一个新 FileRe ...

  4. java复用类_java复用类

    1. toString() 每一个非基本类型都有一个toString()方法:当编译器需要从对象获取一个string时,该对象的toString()方法就会被调用. 示例: class WaterSo ...

  5. java高级类_Java高级类特性(一)

    权限类内同包不同包子类不同包非子类 private √ × × × default √ √ × × protected √ √ √ × public √ √ √ √ 四.super关键字的使用 pac ...

  6. java 根据类名示例化类_Java即时类| from()方法与示例

    java 根据类名示例化类 即时类from()方法 (Instant Class from() method) from() method is available in java.time pack ...

  7. java 根据类名示例化类_Java即时类| EpochSecond()方法的示例

    java 根据类名示例化类 EpochSecond()方法的即时类 (Instant Class ofEpochSecond() method) Syntax: 句法: public static I ...

  8. java void方法_Java对象类的最终void wait(long ms)方法,包含示例

    java void方法 对象类最终无效等待(长毫秒) (Object Class final void wait(long ms)) This method is available in java. ...

  9. java 常用流_Java流类图结构: 流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数...

    Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观 ...

最新文章

  1. 微软华人团队刷新COCO记录!全新目标检测机制达到SOTA|CVPR 2021
  2. 深入理解Kinect for Windows开发
  3. AngularJS学习篇(十)
  4. PHP5.4.3,有些插件不是你想用就能用的
  5. php实现贴吧功能,PHPCMS V9万能字段增加单选功能,实现多条房产信息调用1个开发商信息等效果...
  6. 数组实现矩阵逐层向内层加1
  7. Dapr牵手.NET学习笔记:想入非非的服务调用
  8. 观、砺、破——我的算法之道
  9. A - Cube Stacking(带权并查集)
  10. java protobuffer 网络_C#与Java通过protobuf进行网络通信过程中遇到的问题
  11. java指标计算_java – 使用JMH计算指标
  12. Git下载安装以及基本指令使用
  13. Logstash过滤器之Mutate过滤器详解
  14. Perl之Spreadsheet::WriteExcel安装
  15. 人生没有白读的书,每一本都算数~
  16. Ls -l命令linux,ls命令简介
  17. NING的2021年复盘
  18. Decision Transformer环境安装
  19. C语言练习题:小明排序(数组)
  20. 管理者的七大失败原因

热门文章

  1. 跨链安全隐患大,区块链下一代的互操作性该如何应对
  2. 国内云商大比较-简版
  3. 如何用python爬股票数据_python爬虫股票数据,如何用python 爬虫抓取金融数据
  4. oppo reno4se和vivos7 哪个好
  5. [Mac 硬件相关] Mac日常拆卸及相关维护(更换电池/清风扇/更换硅脂)
  6. h3c端口聚合实现服务器增加带宽,交换机配置,如何实现端口聚合,链路聚合?提高冗余,增加带宽...
  7. 【UNI-APP】开发微信公众号(H5)JSSDK调式
  8. 英语口语笔记B1-Unit7.交通出行-04-Train travel in Europe
  9. SQL 登录注入脚本_vBulletin再修复高危RCE和SQL注入漏洞
  10. STM32+ESP8266+MQTT连接阿里云服务器(一、烧写MQTT固件)