day07

方法重写

1)重写发生在子父类当中

2)方法名、参数列表、返回值均相同

3)重写的方法,方法体或者访问控制修饰符不同

4)子类方法的访问权限不能缩小,比如父类是int,子类重写权限不能是byte

重写和重载的区别、重写重载的特点

都是把重写重载特点都写出来

如果子类重写了父类的方法,在调用时会调用已重写的方法

super关键字特点

1)用在子类的构造方法中

2)不论写不写super(),java都会默认使用super()调用父类的构造方法

3)只能通过super()调用父类的构造方法一次

4)通过super()调用父类的构造方法,必须放在子类构造方法的第一行

this表示当前类对象

super表示当前类的父类对象

在子类构造方法,不论写不写super(),Java都会默认使用super()调用父类的构造方法

super();调用父类构造方法

super.方法名();//调用父类成员方法

创建一个子类对象的加载顺序

1)创建一个父类对象-后创建子类对象

2)先父类构造方法,后子类构造方法

public Father(){
//super();//表示调用父类的构造方法
this("zs");//调用类另一个有参构造
}
public Son(String name){ }

static关键字

静态、全局的

被修饰的方法或变量可以通过类名调用,不需要实例化

static关键字特点

1)被static声明的资源只能被初始化一次,在整个程序编译通过之后,运行之前进行初始化

2)被 static修饰的变量叫静态变量,static不能修饰局部变量(如方法中变量),因为本身static就有全局的意思

3)修饰方法,称为静态方法,静态方法只能调用静态资源,不能调用非静态变量,不能应用this和super,因为静态资源的加载先于实例化

4)被static修饰的变量和方法独立于该类的任何对象。也就是说,她不依赖于特定的对象,被该类的所有对象共享(可以被共同访问到)

5)修饰内部类(静态类),外部类不需要实例化,可以直接通过外部类名调用

特点:

run as》加载静态资源》开始执行第一行代码

1)static声明的资源只能被初始化一次,且在整个编译通过之后,开始运行之前完成初始化

//同类声明方法,可以直接 方法名()进行调用,不同类用 类名.方法名()进行调用
//被static修饰的变量称为静态变量 static String name;可以在同类方法中直接使用
static String name;
main方法内
name = "123";
其他子父类:
类名.name = "123";
//static声明代码块叫静态代码块
JVM的类加载顺序
静态资源》new》代码块》构造方法
先在内存分配资源后构造方法初始化

/**

代码块

构造方法

代码块

构造方法

静态代码块

代码块

构造方法

*/

静态资源取出单独加载=》

1.b1,加载的是该类的对象,所以把该类中除静态资源外的资源加载一遍//运行代码块和构造方法

2.加载b2与b1同理//代码块和构造方法

3.加载静态代码块

4.加载main方法中的bus对象,同b1b2一致//代码块和构造方法

JVM的类加载顺序

静态资源》new》代码块》构造方法

先在内存分配资源后构造方法初始化

day07 方法重写&super、this、static关键字&JVM的类加载顺序题目的更多相关文章

  1. java的方法重写 ,多态和关键字 instanceof和final

    package cn.pen; /*final 是一个java的关键字,用于修饰局部变量.属性.方法.类,表示最终的意思. final修饰类表示最终类,无法被继承.public final class ...

  2. 你真的了解JAVA中对象和类、this、super和static关键字吗

    作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功.JAVA底层.面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」 目录 Java对象究竟是什么? 创建对象的过程 ...

  3. Java—构造方法及this/super/final/static关键字

    构造方法 构建创造时用的方法,即就是对象创建时要执行的方法. //构造方法的格式: 修饰符 构造方法名(参数列表) { } 构造方法的体现: 构造方法没有返回值类型.也不需要写返回值.因为它是为构建对 ...

  4. 20面向对象三特征 之继承 方法重写 super

    继承是:多个类有重复内容,把重复内容放到一个新类中,就可以通过extends关键词去让原来的类和新类产生继承关系,子类只能拿到父类一部分信息.通过extends关键词去指明类与类之间的关系,一个父类可 ...

  5. java static关键字和代码块

    static关键字 代码块 方法重写 1. 方法重写的特点: 2. 注意事项: static关键字 为什么需要学习static关键字? 针对某一个变量属于类而不属于某一个具体的对象的时候,我们可以考虑 ...

  6. 关于Java中的static关键字

    Java中的 static 关键字,确实是一个关键的字(key word),今天就来总结一下它的用法,说说为什么关键. Java中的 static 关键字主要是用来做内存管理的.理解了这句话才能够比较 ...

  7. Es6 类的关键 super、static、constructor、new.target

    ES6引入了Class(类)这个概念,作为对象的模板,通过class关键字,可以定义类.基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对 ...

  8. Es6 类class的关键 super、static、constructor、new.target

    ES6引入了Class(类)这个概念,作为对象的模板,通过class关键字,可以定义类.基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对 ...

  9. static 关键字有什么作用

    static关键字的含义及使用场景 static是Java50个关键字之一.static关键字可以用来修饰代码块表示静态代码块,修饰成员变量表示全局静态成员变量,修饰方法表示静态方法.(注意:不能修饰 ...

  10. static关键字真能提高Bean的优先级吗?答:真能

    生命太短暂,不要去做一些根本没有人想要的东西.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习 ...

随机推荐

  1. WinUI 3 踩坑记:从创建项目到发布

    本文是 WinUI 3 踩坑记 的一部分,该系列发布于 GitHub@Scighost/WinUI3Keng,若内容出现冲突以 GitHub 上的为准. 创建项目 现在 WinUI 3 的入门体验比刚 ...

  2. Python数据科学手册-Pandas:累计与分组

    简单累计功能 Series sum() 返回一个 统计值 DataFrame sum.默认对每列进行统计 设置axis参数,对每一行 进行统计 describe()可以计算每一列的若干常用统计值. 获 ...

  3. mysql ERROR 1396 (HY000): Operation CREATE USER failed 解决办法

    原因:MySQL账户表中已经存在这个要创建的用户 操作分析: 当创建新用户时会提示这个新用户创建失败,但是当解决创建失败的问题后再次重新创建这个新用户,则会报这个错误 # 创建新用户,提示root用户 ...

  4. Security:如何安装 Elastic SIEM 和 EDR

    转载自:https://elasticstack.blog.csdn.net/article/details/114023944 需要学习的地方:生成SSL证书 图片结合最下方的代码文字使用 last ...

  5. Prometheus 通过 consul 分布式集群实现自动服务发现

    转载自:https://cloud.tencent.com/developer/article/1611091 1.Consul 介绍 Consul 是基于 GO 语言开发的开源工具,主要面向分布式, ...

  6. 【微服务】- 服务调用 - OpenFeign

    服务调用 - OpenFeign 生命不息,写作不止 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放吧德德 分享学习心得,欢迎指正,大家一起学习成长! 介绍 O ...

  7. 3_JavaScript

    一. 介绍 JavaScript语言诞生主要是完成页面的数据验证, 因此它运行在客户端, 需要运行浏览器来解析执行JavaScript代码 JS是弱类型, Java是强类型 特点 交互性(它可以做的就 ...

  8. git-secret:在 Git 存储库中加密和存储密钥(上)

    当涉及处理机密信息(如密码.令牌.密钥文件等)等,以下问题值得考虑: 安全性十分重要,但高安全性往往伴随着高度的不便. 在团队中,共享某些密钥有时无法避免(因此现在我们需要考虑在多人之间分发和更新密钥 ...

  9. 持续集成指南:GitLab 的 CI/CD 工具配置与使用

    前言 写代码这项工作,本质就是将工作自动化,减少手工操作提供效率,因为人的本质都是懒狗,程序员也不能例外,为了各种意义的效率提升(懒),我们需要持续集成工具,将代码测试.编译.发布这些重复性很高的工作 ...

  10. Docker | 数据持久化与数据共享

    数据持久化(安装MySQL) 参考另一篇Docker安装mysql: https://www.cnblogs.com/all-smile/p/16778376.html MySQL的数据持久化问题 # ...