Skip to main content

moregeek program

【java入门】十六 关键字this和static、变量_qq62fded605da02的博客-多极客编程

this关键字

this本质就是“当前对象的地址!”

this的用法:

1、普通方法中,this总是指向调用该方法的对象

2、构造方法中,this总是指向正要初始化的对象。

【Java入门】十六 关键字this和static、变量_初始化

【Java入门】十六 关键字this和static、变量_初始化_02

 3、this()调用重载的构造方法,避免相同的初始化代码。但只能在构造方法中用,并且必须位于构造方法的第一句。

4、this不能用于static方法中。

5、this是作为普通方法的“隐式参数”,由系统传入方法中。

static关键字

【Java入门】十六 关键字this和static、变量_构造方法_03

【Java入门】十六 关键字this和static、变量_构造方法_04

 静态变量(类变量)、静态方法(类方法):static声明的属性或方法。

静态变量/静态方法生命周期和类相同,在整个程序执行期间都有效。他有如下特点:

1、为该类的公用变量,属于类,被该类的所有实例共享,在类载入时被初始化。

2、static成员变量只有一份

3、一般用“类名.类属性/方法”来调用。

4、在static方法中不可直接访问非static的成员

【示例】static关键字的使用

【Java入门】十六 关键字this和static、变量_构造方法_05

【Java入门】十六 关键字this和static、变量_初始化_06

 静态初始化块

构造方法用于对象的普通属性初始化!静态初始化块,用于类的初始化操作,初始化静态属性!在静态初始化块中不能直接访问非static成员。

注意事项:

静态初始化块执行顺序(这部分可以学会继承后再学习)

1、上溯到object类,先执行object的静态初始化块,再向下执行子类的静态初始化块,直到类的静态初始化块为止。

2、构造方法执行顺序和上面一样!!!

变量

变量有三种类型:局部变量、成员变量(也称为实例变量)和静态变量。

学过内存之后这三种变量就更清晰了。

局部变量属于方法,成员变量属于对象,静态变量属于类。

【Java入门】十六 关键字this和static、变量_初始化_07


©著作权归作者所有:来自51CTO博客作者秃头仙女的原创作品,请联系作者获取转载授权,否则将追究法律责任

java基础 | 关于面向对象三大特征与内存回收_wx630f055ce23fc的博客-多极客编程

面向对象有三大特点:封装、继承、多态。(如果要回答四个,可加上抽象性这一特点)1.Java的继承性:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法

集成 redis & 异步任务 - springboot 2.7 .2实战基础_wx630f055ce23fc的博客-多极客编程

SpringBoot 2.7 .2实战基础 - 09 - 集成 Redis & 异步任务1 集成RedisSpringBoot 提供了整合 Redis 的 starter,使用非常简单。1.1 添加依赖在 pom.xml 中添加 redis 的 starter:<dependency> <groupId>org.springframework.boot<

#yyds干货盘点# 面试必刷top101:包含min函数的栈_风的博客-多极客编程

1.简述:描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop、top 和 min 函数操作时,栈中一定有元素。此栈包含的方法有:push(value):将value压入栈中pop():弹出栈顶元素top():获取栈顶元素min():获取栈中最小元素数据范围:操作数量满足  ,输入的元素满足 进阶:栈的各个操作的时间复杂度是  ,空间复杂度是 

jdk动态代理实现原理以及手写实现jdk动态代理_积跬步,至千里。的博客-多极客编程

(JDK动态代理实现原理以及手写实现JDK动态代理) JDK动态代理的过程 JDK动态代理采用字节重组,重新生成对象来替代原始对象,以达到动态代理的目的。 JDK中有一个规范,在ClassPath下只要是$开头的.class文件,一般都是自动生成的。 要实现JDK动态代理生成对象,首先得弄清楚JDK动态代理的过程。 1.获取被代理对象的引用,并且使用反射获取它的所有接口。 2.JDK动态

java的jstack命令使用详解_微亹信亹搜亹索:万猫学社的博客-多极客编程

jstack命令简介 jstack(Java Virtual Machine Stack Trace)是JDK提供的一个可以生成Java虚拟机当前时刻的线程快照信息的命令行工具。线程快照一般被称为threaddump或者javacore文件,是当前Java虚拟机中每个线程正在执行的Java线程、虚拟机内部线程和可选的本地方法堆栈帧的集合。对于每个方法栈帧,将会显示完整的类名、方法名、字节码索引(b

mq的原理以及持久化_浅羽技术的博客-多极客编程

mq的原理是什么 消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。 在分布式计算环境中,为了集成分布式应用,开发者需要对异构网络环境下的分布式应用提供有效的通信手段。为了管理需要共享的信息,对应用提供公共的信息交换机制是重要的。

java基础 | 关于面向对象三大特征与内存回收_wx630f055ce23fc的博客-多极客编程

面向对象有三大特点:封装、继承、多态。(如果要回答四个,可加上抽象性这一特点)1.Java的继承性:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法

集成 redis & 异步任务 - springboot 2.7 .2实战基础_wx630f055ce23fc的博客-多极客编程

SpringBoot 2.7 .2实战基础 - 09 - 集成 Redis & 异步任务1 集成RedisSpringBoot 提供了整合 Redis 的 starter,使用非常简单。1.1 添加依赖在 pom.xml 中添加 redis 的 starter:<dependency> <groupId>org.springframework.boot<

超简单的python教程系列——第7篇:循环和迭代器_freestu的博客-多极客编程

还记得你上次丢东西是什么时候吗?你可能会翻遍你的房子。一个一个房间地查找,而你周围的人问一些毫无意义的问题,比如“你最后一次是放在哪里的?” (说真的,如果我知道的话,我就不会找他们了!)如果优化一下你的搜索方式的话就会变得很轻松,但是你的房子房间没有排序……或者特别有条理,如果你和我一样的话,你就是被线性搜索困住了。在编程中,就像在现实生活中一样,我们通常不会拿到任何有意义的顺序数据。一般都从一

数据结构04链表_wx619474981d7fe的博客-多极客编程

1 链表存在的意义  线性表的顺序存储结构最大的缺点就是插入和删除时需要移动大量元素,这显然是需要耗费大量的时间,链式存储结构就是为了解决这个问题而存在。 为什么当插入和删除时,就要移动大量元素。仔细分析后,发现原因就在于响铃元素的存储位置具有邻居关系。它们编号是1,2,3,·····,n,它们在内容中的位置也是挨着的,中间没有空隙,当然就无法快速插入,而删除后,当中就会留出空隙,问题就出在这里

jdk动态代理实现原理以及手写实现jdk动态代理_积跬步,至千里。的博客-多极客编程

(JDK动态代理实现原理以及手写实现JDK动态代理) JDK动态代理的过程 JDK动态代理采用字节重组,重新生成对象来替代原始对象,以达到动态代理的目的。 JDK中有一个规范,在ClassPath下只要是$开头的.class文件,一般都是自动生成的。 要实现JDK动态代理生成对象,首先得弄清楚JDK动态代理的过程。 1.获取被代理对象的引用,并且使用反射获取它的所有接口。 2.JDK动态

java的jstack命令使用详解_微亹信亹搜亹索:万猫学社的博客-多极客编程

jstack命令简介 jstack(Java Virtual Machine Stack Trace)是JDK提供的一个可以生成Java虚拟机当前时刻的线程快照信息的命令行工具。线程快照一般被称为threaddump或者javacore文件,是当前Java虚拟机中每个线程正在执行的Java线程、虚拟机内部线程和可选的本地方法堆栈帧的集合。对于每个方法栈帧,将会显示完整的类名、方法名、字节码索引(b