三个案例,解读静态代码块和构造代码块
一、对静态代码块和非静态代码块进行简单的总结
1.静态代码块:
静态代码块是在当类被载入(内存)时最先被调用的,且之被执行一次,静态块常用来执行类属性的初始化。执行类的载入之前就会调用。
2.非静态代码块:
非静态代码块是在当类的对象被创建载入(内存)时最先被调用的,每创建一个对象,即每载入一个对象,非静态代码块都执行一次。执行类对象的载入之前就会调用。
3.静态方法、非静态方法:都是调用时,才执行的。静态方法属于类的,加载完类就可以调用静态方法;非静态方法是属于对象的,加载完对象就可以调用非静态方法。
二、相关示例演示
1 public class Cc { 2 public static void main(String[] args) { 3 test p=new test(); 4 } 5 } 6 7 class test { 8 test() { //在类对象创建的时候就开始执行。简称创建即执行。 9 System.out.println("这是构造函数"); 10 } 11 12 { //构造代码块,执行在构造函数之前,每当在创建类对象的时候都执行。 13 System.out.println("这是构造代码块"); 14 } 15 16 static { //静态代码块,最早执行,且值执行一次。 17 System.out.println("这是静态代码块"); 18 } 19 }
打印结果:
演示当被调用两次的时候,会发生什么打印结果。加深对静态代码块的理解。
1 public class Ccc { 2 public static void main(String[]args) 3 { 4 MyTest p=new MyTest(); 5 MyTest p2=new MyTest();//两次调用 6 } 7 } 8 class MyTest{ 9 10 MyTest(){ 11 System.out.println("这是构造函数"); 12 } 13 14 { 15 System.out.println("这是构造代码块"); 16 } 17 18 static{ 19 System.out.println("这是静态代码块"); 20 21 } 22 }
打印结果如下:
介绍一个含参的例子:
1 class Cccc { 2 public static void main(String[] args) { 3 new Person(77); 4 new Person(); 5 } 6 } 7 8 class Person { 9 10 Person() { 11 System.out.println("a"); 12 } 13 14 15 Person(int x) { //注意带参数了!! 16 System.out.println(x); 17 } 18 19 static { 20 System.out.println("b"); 21 } 22 23 { 24 System.out.println("c"); 25 } 26 }
打印结果:
转载于:https://www.cnblogs.com/1693977889zz/p/6984669.html
三个案例,解读静态代码块和构造代码块相关推荐
- java子类代码块_java中父类子类静态代码块、构造代码块执行顺序
父类静态(代码块,变量赋值二者按顺序执行) 子类静态 父类构造代码块 父类构造方法 子类构造代码块 子类构造方法 普通方法在实列调用的时候执行,肯定位于上面之后了 //父类A public class ...
- java构造块_java中的静态代码块、构造代码块、构造方法详解
运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System. ...
- 代码块(局部代码块、构造代码块、静态代码块)
代码块的概述 在Java中,使用{}括起来的代码被称为代码块 代码块的分类 根据位置和声明不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块 局部代码块:在方法中出现,限定变量生命周期,及早 ...
- java中普通代码块,构造代码块,静态代码块的区别及代码示例
本文转自:http://www.cnblogs.com/sophine/p/3531282.html 执行顺序:(优先级从高到低)静态代码块>main方法>构造代码块>构造方法. 其 ...
- Java中普通代码块,构造代码块,静态代码块区别
Java中普通代码块,构造代码块,静态代码块区别及代码 示例 //执行顺序:(优先级从高到低.)静态代码块>mian方法 >构造代码块>构造方法. 其中静态代码块只执行一次.构造代码 ...
- 代码和普通的java_Java中普通代码块,构造代码块,静态代码块区别及代码示例...
对静态代码块以及构造函数的执行先后顺序,一直很迷惑,看了孙伟琴老师的<java面向对象编程>又结合毕老师的java基础视频中的讲解,现用下面的这段小程序来简明扼要的叙述一下,以加深理解,与 ...
- 关于java中普通代码块、构造代码块与静态代码块
1.普通代码块 public static void main(String[] args) { /*普通代码块: *直接定义在在方法或语句中出现"{普通代码的执行语句}"的就称为 ...
- 牛客网Java刷题知识点之什么是代码块、普通代码块、静态代码块、同步代码块、构造代码块以及执行顺序...
不多说,直接上干货! 这种形式的程序段我们将其称之为代码块,所谓代码块就是用大括号({})将多行代码封装在一起,形成一个独立的数据体,用于实现特定的算法.一般来说代码块是不能单独运行的,它必须要有运行 ...
- Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序
构造函数 public HelloA(){//构造函数} 关于构造函数,以下几点要注意: 1.对象一建立,就会调用与之相应的构造函数,也就是说,不建立对象,构造函数时不会运行的. 2.构造函数的作用是 ...
- Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例
Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例 2018年05月08日 08:12:48 WJN不忘初心 阅读数:34 除了说普通代码块,静态代码块,构造代码块的执行顺序外,还有静 ...
最新文章
- win10 microsoft compatibility telemetry 禁用用户改善反馈服务进程 磁盘占用高
- torch.norm
- HTML字体小于12谷歌不兼容,Chrome谷歌浏览器下不支持css字体小于12px的解决办法【原创】...
- 基于指定文本的百度地图poi城市检索的使用(思路最重要)
- Maven学习之 仓库镜像
- [APIO / CTSC2007]数据备份 --- 贪心
- algorithm头文件下函数整合
- 超轻薄笔记本电脑软件测试,一口气测了三款轻薄本 这三个核心问题有答案了...
- jQuery实现点击复制文本效果
- 对数似然值 matlab,matlab aic准则 怎么计算对数似然值
- 【2020年高被引学者】 汤继良 密歇根州立大学
- Unity3D之FingerGestures使用
- 阿里云短信业务SMS
- 我用python做股票_十分钟学会用Python交易股票
- 台式计算机清洁除尘内容,台式电脑cpu除尘的方法
- 开尔文函数 matlab,KELVIN二维/ RS传热求解器
- 【spark内置函数】lit和typedLit
- K-means聚类分析与python实现
- 什么!脑机接口可让中风患者快速,准确的打字?
- 远程桌面如何连接--远程桌面管理与本地连接