Java基础学习:12、代码块
1、定义:
代码块又称为初始化块,属于类中的成员,将逻辑语句封装在方法体中,通过{}包围起来。
2、分类:
普通代码块、静态代码块(有static修饰)
public class Block {
public static void main(String[] args) {
new AA("张三"); // 每个构造器都会自动调用代码块内容
new AA(20, "李四");
}
}
class AA {
private int age;
private String name;
{
System.out.println("我是代码块1");
System.out.println("我是代码块2");
System.out.println("我是代码块3");
}
public AA(String name) {
this.name = name;
}
public AA(int age, String name) {
this.age = age;
this.name = name;
}
}
3、代码块的理解:
a、相当于另一种形式的构造器,可以做初始化操作。
b、使用场景:如果多个构造器都有重复语句,可以抽取到到代码块中,提高代码重用性。
静态代码块:
1、作用:就是对类进行初始化,它随着类的加载而执行,并且只会执行一次。如果是普通代码块,没创建一个对象,就会执行一次。
2、类什么时候被加载:
a、创建对象实例时(new)。
b、创建子类对象实例时,父类也会被加载。
c、使用类的静态成员时(静态成员、静态方法)。
3、普通代码块:创建对象实例时,才会被调用,创建一次,调用一次,如果只是使用类的静态成员时,普通代码块不会执行。
4、小结:
a、static代码块:类加载时调用,只会执行一次。
b、普通代码块:创建对象时调用,创建一次,调用一次。
Java基础学习:12、代码块的更多相关文章
- Java基础6:代码块与代码加载顺序
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...
- 转转转!!java基础一些静态代码块等知识点
一.代码块: 构造代码块------类中方法的外面:每次调用构造方法都执行: 静态代码块------类中方法的外面,括号前加上static:只执行一次,随着类的加载而执行: static代码块.构造代 ...
- java基础之静态代码块,局部代码块,构造代码块区别。
java中有几种常见的代码块,那怎样区别他们呢? 这里就这些问题,浅谈下我个人的理解. 1.局部代码块 局部代码块,又叫普通代码块.它是作用在方法中的代码块.例如: public void show( ...
- Java基础25-静态代码块
/* 静态代码块 格式: static{ 静态代码块中执行语句 } 特点:随着类的加载而执行,并且只会执行一次,并且还优先于主函数. 作用:用于给类进行初始化 */ public class Test ...
- Java基础20-构造代码块
特点: 对象一建立就运行了,而且优先于构造函数执行 作用:给对象初始化的 构造代码块和构造方法的区别: 构造方法是对应的对象进行初始化 构造代码块是给所有的对象进行统一的初始化 public clas ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
- [转帖]java基础学习总结——多态(动态绑定)
https://www.cnblogs.com/xdp-gacl/p/3644035.html 多态的概念 java基础学习总结——多态(动态绑定) 一.面向对象最核心的机制——动态绑定,也叫多态
- Java基础学习(2)
Java基础学习(二) 面向对象 对象:客观存在的事物 面向对象:人具体关注的事物的某些信息 类:是模子,确定对象会拥有的特征(属性)和行为(方法) 对象的属性:对象具有的各种特征 对象的方法:对象能 ...
- java基础学习笔记五(抽象类)
java基础学习总结——抽象类 抽象类介绍
- Java基础学习-- 继承 的简单总结
代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...
随机推荐
- wsl 自动配置代理地址
- idea2022.2.3安装破解
转:https://www.quanxiaoha.com/article/idea-pojie.html 1 注意事项 如果是卸载了旧版本安装的本版本,安装完成后打不开,可能是旧版本的影响 找到:C: ...
- 在Mariadb中创建数据库-九五小庞
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.在存储引擎 ...
- 学习java Day1
今天正式开始自学Java,首先在官网安装了最新版的jdk并配置好了环境,随后安装好了eclipse. 使用eclipse运行了一个基础的aa.java文件,并成功打印出hello world 首先我了 ...
- group by 、concat_ws()、 group_caoncat()的使用
group系列 之前觉得这里简单不需要再进行总结了.后来发现还是需要总结巩固一下,还是有一些方法之类的之前未使用过.这里来重新整理,记录一下. group by 将表中的数据根据某个条件进行分组. 比 ...
- 自己从零写操作系统GrapeOS系列教程——4.GrapeOS开发环境介绍
1. 开发环境简介 为了减少开发过程中不必要的麻烦,希望大家的开发环境尽量与我的保持一致. 我的开发环境如下: Windows10电脑一台 Visual Studio Code(最好是最新版) Vir ...
- 基于IGServer的Web地图要素空间分析
1. 引言 MapGIS IGServer 是中地数码的一款跨平台GIS 服务器产品,提供了空间数据管理.分析.可视化及共享服务 MapGIS IGServer的下载(试用)地址:MapGIS IGS ...
- Golang如何快速构建一个CLI小工示例
这篇文章主要为大家介绍了Golang如何快速构建一个CLI小工具详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪 如何Golang快速构建一个CLI小工具 在现实开发的 ...
- 【转】IDEA搭建SSM框架(spring+maven+mybatis+mysql+junit)
环境安装: apache-tomcat-9.0 https://tomcat.apache.org/download-90.cgi 配置:https://blog.csdn.net/qq_415706 ...
- Linux如何查看实时滚动日志
Linux有多种方法可以查看实时滚动日志.最常用的方法是使用tail命令,它可以显示一个文件的最后几行,并且可以跟踪文件的变化.例如,你可以输入tail -f /var/log/syslog来查看系统 ...