加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 教程 > 正文

介绍Java静态代码块和构造代码块

发布时间:2021-11-15 14:14:59 所属栏目:教程 来源:互联网
导读:一、对静态代码块和非静态代码块进行简单的总结 1.静态代码块: 静态代码块是在当类被载入(内存)时最先被调用的,且之被执行一次,静态块常用来执行类属性的初始化。执行类的载入之前就会调用。 2.非静态代码块: 非静态代码块是在当类的对象被创建载入(

一、对静态代码块和非静态代码块进行简单的总结
 
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 }
 
打印结果:

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读