一、对静态代码块和非静态代码块进行简单的总结

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

三个案例,解读静态代码块和构造代码块相关推荐

  1. java子类代码块_java中父类子类静态代码块、构造代码块执行顺序

    父类静态(代码块,变量赋值二者按顺序执行) 子类静态 父类构造代码块 父类构造方法 子类构造代码块 子类构造方法 普通方法在实列调用的时候执行,肯定位于上面之后了 //父类A public class ...

  2. java构造块_java中的静态代码块、构造代码块、构造方法详解

    运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System. ...

  3. 代码块(局部代码块、构造代码块、静态代码块)

    代码块的概述 在Java中,使用{}括起来的代码被称为代码块 代码块的分类 根据位置和声明不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块 局部代码块:在方法中出现,限定变量生命周期,及早 ...

  4. java中普通代码块,构造代码块,静态代码块的区别及代码示例

    本文转自:http://www.cnblogs.com/sophine/p/3531282.html 执行顺序:(优先级从高到低)静态代码块>main方法>构造代码块>构造方法. 其 ...

  5. Java中普通代码块,构造代码块,静态代码块区别

    Java中普通代码块,构造代码块,静态代码块区别及代码 示例 //执行顺序:(优先级从高到低.)静态代码块>mian方法 >构造代码块>构造方法. 其中静态代码块只执行一次.构造代码 ...

  6. 代码和普通的java_Java中普通代码块,构造代码块,静态代码块区别及代码示例...

    对静态代码块以及构造函数的执行先后顺序,一直很迷惑,看了孙伟琴老师的<java面向对象编程>又结合毕老师的java基础视频中的讲解,现用下面的这段小程序来简明扼要的叙述一下,以加深理解,与 ...

  7. 关于java中普通代码块、构造代码块与静态代码块

    1.普通代码块 public static void main(String[] args) { /*普通代码块: *直接定义在在方法或语句中出现"{普通代码的执行语句}"的就称为 ...

  8. 牛客网Java刷题知识点之什么是代码块、普通代码块、静态代码块、同步代码块、构造代码块以及执行顺序...

    不多说,直接上干货! 这种形式的程序段我们将其称之为代码块,所谓代码块就是用大括号({})将多行代码封装在一起,形成一个独立的数据体,用于实现特定的算法.一般来说代码块是不能单独运行的,它必须要有运行 ...

  9. Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序

    构造函数 public HelloA(){//构造函数} 关于构造函数,以下几点要注意: 1.对象一建立,就会调用与之相应的构造函数,也就是说,不建立对象,构造函数时不会运行的. 2.构造函数的作用是 ...

  10. Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例

    Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例 2018年05月08日 08:12:48 WJN不忘初心 阅读数:34 除了说普通代码块,静态代码块,构造代码块的执行顺序外,还有静 ...

最新文章

  1. win10 microsoft compatibility telemetry 禁用用户改善反馈服务进程 磁盘占用高
  2. torch.norm
  3. HTML字体小于12谷歌不兼容,Chrome谷歌浏览器下不支持css字体小于12px的解决办法【原创】...
  4. 基于指定文本的百度地图poi城市检索的使用(思路最重要)
  5. Maven学习之 仓库镜像
  6. [APIO / CTSC2007]数据备份 --- 贪心
  7. algorithm头文件下函数整合
  8. 超轻薄笔记本电脑软件测试,一口气测了三款轻薄本 这三个核心问题有答案了...
  9. jQuery实现点击复制文本效果
  10. 对数似然值 matlab,matlab aic准则 怎么计算对数似然值
  11. 【2020年高被引学者】 汤继良 密歇根州立大学
  12. Unity3D之FingerGestures使用
  13. 阿里云短信业务SMS
  14. 我用python做股票_十分钟学会用Python交易股票
  15. 台式计算机清洁除尘内容,台式电脑cpu除尘的方法
  16. 开尔文函数 matlab,KELVIN二维/ RS传热求解器
  17. 【spark内置函数】lit和typedLit
  18. K-means聚类分析与python实现
  19. 什么!脑机接口可让中风患者快速,准确的打字?
  20. 远程桌面如何连接--远程桌面管理与本地连接

热门文章

  1. 学生系统优化(三)- -细节优化
  2. dos显示磁盘剩余空间
  3. java 向nodejs 发送请求简单案例
  4. Spring 常犯的十大错误,打死都不要犯!
  5. 面试官:你对Kafka比较熟? 那说说kafka日志段如何读写的吧?
  6. 七年程序员生涯,我学到的重要六课
  7. 超级大汇总!200多个最好的机器学习、NLP和Python教程
  8. 掌握这 11 个方法论,搞定一场完美技术面试!
  9. 为什么SQL正在击败NoSQL,这对未来的数据意味着什么
  10. SecureCRT连接Linux终端中文乱码解决方法