首页 > 其他分享 >初始化块

初始化块

时间:2023-11-01 20:25:15浏览次数:28  
标签:初始化 System Person static println id out

1.普通初始化块

  

在一个类的声明中可以包括多个代码块,当类构造对象时,这些代码块会被自动执行。
class Person { private int age; private String name; private static int id = 0; {//普通初始化块 System.out.println(id); id++; System.out.println(id); } } public class Main { public static void main(String[] args) { Person s = new Person(); Person s1 = new Person(); } }

运行截图:

2.静态初始化块

  

其只在系统首次构造对象时执行。
class Person { private int age; private String name; private static int id = 0; static{//静态初始化块 System.out.println(id); id++; System.out.println(id); } } public class Main { public static void main(String[] args) { Person s = new Person(); Person s1 = new Person(); } }

 运行截图:

 3.初始化块的继承性

 

 

 


当类存在继承关系时,会从上到下,一级一级的执行静态初始化块。
class Person { static{ System.out.println("static init Person"); } { System.out.println("common init Person"); } } class Person1 extends Person{ static{ System.out.println("static init Person1"); } { System.out.println("common init Person1"); } } public class Max { public static void main(String[] args) { Person1 s = new Person1(); System.out.println("123123123123"); Person1 s1 = new Person1(); } }

 

运行截图:

 

标签:初始化,System,Person,static,println,id,out
From: https://www.cnblogs.com/kandh/p/17803965.html

相关文章

  • linux安装MySQL数据库初始化报错
    在使用如下初始化命令进行数据库初始化时报错,./bin/mysqld--user=mysql--basedir=/usr/local/mysql/mysql/--datadir=/usr/local/mysql/mysql/data/--initialize--lower-case-table-names=1; 权限不足导致,修改命令为:./bin/mysqld--user=root--basedir=/usr/local......
  • 机器学习——延后初始化
    到目前为止,我们忽略了建立网络时需要做的以下这些事情:我们定义了网络架构,但没有指定输入维度。我们添加层时没有指定前一层的输出维度。我们在初始化参数时,甚至没有足够的信息来确定模型应该包含多少参数。有些读者可能会对我们的代码能运行感到惊讶。毕竟,深度学习框......
  • c语言学习(结构体初始化)42
    利用例题直接阐释:#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>structhobby//hobby:爱好{charcolor[10];charsports[10];};structstu{charname[10];intage;structhobbys2;doubleheight;};intmain(){structstu......
  • vuejs3.0 从入门到精通——初始化项目——路由
    路由 VueRouter是Vue.js官方的路由管理器,它和Vue.js深度集成,用于构建单页面应用。Vue.js单页面应用是基于路由和组件映射的,路由用于配置访问路径,将组件(components)映射到路由路径(routes)。一、路由模式 VueRouter常用的两种模式是hash模式和HTML5模式,对应的创建......
  • 一文详解 springboot 项目启动时异步执行初始化逻辑
    你知道的越多,你不知道的越多点赞再看,养成习惯文章目录前言代码实现定义异步处理工具类实现java线程池新建AppInit实现ApplicationRunner接口完成启动项目时异步数据初始化前言前面的工作中,为了提高地区数据的响应时间,需要加载全国区划数据到redis中缓存起来,这个过程希......
  • kingbase初始化报错
    [zjh@hs-10-20-30-193Server]$rm-rfdata[zjh@hs-10-20-30-193Server]$./bin/initdb-DdataThefilesbelongingtothisdatabasesystemwillbeownedbyuser"zjh".Thisusermustalsoowntheserverprocess.Thedatabaseclusterwillbeinitializ......
  • Spring Boot 3系列之一(初始化项目)
    近期,JDK21正式发布,而SpringBoot3也推出已有一段时间。作为这两大技术领域的新一代标杆,它们带来了许多令人振奋的新功能和改进。尽管已有不少博客和文章对此进行了介绍,但对于我们这些身处一线的开发人员来说,有些文章和文档可能一看就会,一写就废。因此,为了更深入地理解JDK21和Spr......
  • java 动态数组初始化
    动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。格式:数据类型[]数组名=new数据类型[数组长度];示例:int[]arr=newint[3];publicclassday8_06{publicstaticvoidmain(String[]args){/*定义一个数组,用来存班级中50个学生的姓名......
  • 数组的静态初始化和动态初始化
    publicclassArrayDemo02{publicstaticvoidmain(String[]args){//静态初始化:创建+赋值int[]a={1,2,3,4,5,6,7,8};System.out.println(a[0]);//动态初始化:包含默认初始化int[]b=newint[10];b[0]=10;......
  • vant时间选择器中对minDate进行初始化
    vant组件库中,DatetimePicker可以通过min-date和max-date属性确定可选的时间范围。但他只支持Date类型,时间戳的话会报错,需要转换一下<van-popupv-model="showStartTime"position="bottom"><van-datetime-pickerv-model="defaultStartDate"......