Java基础学习:12、代码块
2024-09-08 19:38:27
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、普通代码块:创建对象时调用,创建一次,调用一次。
最新文章
- 【Kylin实战】Hive复杂数据类型与视图
- linux下的目录结构和内容
- ArcMap 10.3 AddIN找不到插件
- 【练习】数据移动---导出(EXPDP)
- Java——各种日期的获取(来自别人分享)
- C#操作Excel(2)-- 打开-读取Excel文档
- C++面试题:list和vector有什么区别?
- BZOJ 2751: [HAOI2012]容易题(easy)( )
- SharePoint 内容部署-PowerShell
- MySQL (三)-- 字段属性、索引、关系、范式、逆规范化
- 详解EBS接口开发之应收款处理
- Xcode9无线调试教程
- python&;JSONP(Jquery篇)
- Python_多进程
- scala-创建泛型数组(T: Manifest)
- Python查看关键字和帮助信息
- java反射获取class
- Linux查看某一个端口监听情况
- [转]WCF体系结构-一张图就是好
- LightOJ 1323 Billiard Balls(找规律(蚂蚁爬木棍))