day07 方法重写&super、this、static关键字&JVM的类加载顺序题目
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的类加载顺序题目的更多相关文章
- java的方法重写 ,多态和关键字 instanceof和final
package cn.pen; /*final 是一个java的关键字,用于修饰局部变量.属性.方法.类,表示最终的意思. final修饰类表示最终类,无法被继承.public final class ...
- 你真的了解JAVA中对象和类、this、super和static关键字吗
作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功.JAVA底层.面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」 目录 Java对象究竟是什么? 创建对象的过程 ...
- Java—构造方法及this/super/final/static关键字
构造方法 构建创造时用的方法,即就是对象创建时要执行的方法. //构造方法的格式: 修饰符 构造方法名(参数列表) { } 构造方法的体现: 构造方法没有返回值类型.也不需要写返回值.因为它是为构建对 ...
- 20面向对象三特征 之继承 方法重写 super
继承是:多个类有重复内容,把重复内容放到一个新类中,就可以通过extends关键词去让原来的类和新类产生继承关系,子类只能拿到父类一部分信息.通过extends关键词去指明类与类之间的关系,一个父类可 ...
- java static关键字和代码块
static关键字 代码块 方法重写 1. 方法重写的特点: 2. 注意事项: static关键字 为什么需要学习static关键字? 针对某一个变量属于类而不属于某一个具体的对象的时候,我们可以考虑 ...
- 关于Java中的static关键字
Java中的 static 关键字,确实是一个关键的字(key word),今天就来总结一下它的用法,说说为什么关键. Java中的 static 关键字主要是用来做内存管理的.理解了这句话才能够比较 ...
- Es6 类的关键 super、static、constructor、new.target
ES6引入了Class(类)这个概念,作为对象的模板,通过class关键字,可以定义类.基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对 ...
- Es6 类class的关键 super、static、constructor、new.target
ES6引入了Class(类)这个概念,作为对象的模板,通过class关键字,可以定义类.基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对 ...
- static 关键字有什么作用
static关键字的含义及使用场景 static是Java50个关键字之一.static关键字可以用来修饰代码块表示静态代码块,修饰成员变量表示全局静态成员变量,修饰方法表示静态方法.(注意:不能修饰 ...
- static关键字真能提高Bean的优先级吗?答:真能
生命太短暂,不要去做一些根本没有人想要的东西.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习 ...
随机推荐
- 输入法词库解析(六)QQ 拼音分类词库.qpyd
详细代码:https://github.com/cxcn/dtool 前言 .qpyd 是 QQ 拼音输入法 6.0 以下版本所用的词库格式,可以在 http://cdict.qq.pinyin.cn ...
- Elasticsearch的ETL利器——Ingest节点
文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484473&idx=1&sn=1b3b07b ...
- AlertManager企业微信报警,时间是UTC时间,错8个小时的两种解决办法
第一种 {{ (.StartsAt.Add 28800e9).Format "2020-01-02 15:04:05" }} 或者是 {{ ($alert.StartsAt.Add ...
- CentOS使用yum方式安装yarn和nodejs
# 使用epel-release.repo源安装的nodejs版本是6.17.1,有些前端项目使用的话会提示版本太低,具体下图 # 命令执行后的详细情况:curl -sL https://rpm.no ...
- CentOS系统一键部署jdk,maven,tomcat,mysql
#!/bin/bash ####使用方法############### # chmod a+x JdTomK-Auto.sh # source JdTomK-Auto.sh ############# ...
- Springboot之 Mybatis 多数据源实现
简介 上篇讲解了 JPA 多数据源实现:这篇讲解一下 Mybatis 多数据源实现 .主要采用将不同数据库的 Mapper 接口分别存放到不同的 package,Spring 去扫描不同的包,注入不同 ...
- NSIS限制程序运行次数和使用日期
#七八年前写着玩的小东西,实际用途不大,但对刚接触nsis的新手来说应该还有一些帮助,包括创建控件,获取系统时间等,与诸位共勉! !system '>blank set/p=MSCF<nu ...
- 微软出品自动化神器Playwright(Playwright+Java)系列(四) 之 浏览器操作
写在前面 今天是国庆节的最后一天,明天又要上班了,真的是感觉好像才开始放假一样,还是因为失恋没缓过来吗? 我的国庆七天 第1天,当了近半天的司机,陪家人去各大超市去购物,下午在家躺····· 第2-5 ...
- C语言二叉树遍历及路径查找
#include<iostream> #include<stdio.h> #include<math.h> #include<malloc.h> usi ...
- AI人脸识别+换脸
视频换脸可参考 https://github.com/iperov/DeepFaceLab import dlib.dlib as dlib import numpy import sys impor ...