Java代码块分类以及执行顺序
时间:2019-01-17
本文章向大家介绍Java代码块分类以及执行顺序,主要包括Java代码块分类以及执行顺序使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1.普通代码块
出现在方法中的代码块,解决变量重命名问题
代码块一定要写在方法变量命名前
public Test1(){
{
System.out.println("普通代码块");
}
}
2.构造代码块
定义在类中的代码块,不加任何修饰符
优先于类中的构造方法执行
有多少个对象就调用多少次构造块
class Test1{
{
System.out.println("构造代码块");
}
}
3.静态代码块
定义在类中、并且使用static修饰的代码块
3.1在非主类中的静态块
优先于构造块执行,无论有多少对象产生,静态块只执行一次(类加载(加载那些在主方法中调用的方法和属性)时执行)
class Test1{
static{
System.out.println("非主类静态代码块");
}
}
3.2在主类(包含主方法)中的静态块
优先于主方法执行
public class Test{
static{
System.out.println("主类静态代码块");
}
}
4.同步代码块
class Test1{
public Test1(){
{
System.out.println("3父类普通代码块");
}
}
{
System.out.println("4父类构造代码块");
}
static{
System.out.println("5父类非主类静态代码块");
}
}
class Test2 extends Test1{
public Test2(){
{
System.out.println("6子类普通代码块");
}
{
System.out.println("7子类构造代码块");
}
static{
System.out.println("8子类非主类静态代码块");
}
}
public class Test{
static{
System.out.println("9主类静态代码块");
}
public static void main(String[] args){
System.out.println("1程序开始执行");
new Test1();
new Test2();
System.out.println("2程序执行结束");
}
}
子类对象在进行实例化之前一定会首先实例化父类对象,先调用父类的构造方法后再调用子类的构造方法
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- java_内部类、匿名内部类的使用
- [周末往期回顾]使用BBED定位数据位置
- JeecgCloud版,新建项目。
- MySQL忘记root密码,错误号码1045解决办法
- java_流程控制语句、权限修饰符
- [Oracle 故障处理]记一次RMAN备份警告的处理过程
- [Oracle 日常管理]使用oradebug捕获SQL语句
- [Oracle 日常管理]ERRORSTACK使用介绍
- Oracle参数解析(nls_numeric_characters)
- 在Linux系统中安装Tomcat
- java_缓冲流、转换流、序列化流
- Kali内网使用正向shell入侵
- KALI拿到shell后提权操作
- KALI 内网渗透记录
- CentOS7部署Grafana