首页 新闻 会员 周边 捐助

{System.out.println("A class");}属于什么?

0
[已解决问题] 解决于 2016-11-18 21:52
public class A {
    public A(){
        System.out.println("A");
    }
    {System.out.println("A class");}
    static{System.out.println("static A");}
}

在class A中

public A()属于无参构造器;
static{System.out.println("static A");}属于静态方法;
{System.out.println("A class");}是什么?为什么他比无参构造器还先执行?
 
 
ckx0709的主页 ckx0709 | 菜鸟二级 | 园豆:414
提问于:2016-10-14 18:42
< >
分享
最佳答案
0

这个是java中的静态块,类似于.NET中的静态构造函数,会在类被加载时执行,且仅执行一次,而例子中的public A(){}属于构造函数,仅在实例化类时会被执行,如A a=new A();时才会调用。

具体的我给你找了个文章,你自己去看吧:http://blog.csdn.net/newjerryj/article/details/8650268

奖励园豆:5
猫探长 | 菜鸟二级 |园豆:325 | 2016-10-18 15:11
其他回答(1)
0

虽然是Java,但了解一点

static{System.out.println("static A");}

这个貌似叫:静态代码块???

还能{System.out.println("A class");} 这么玩儿啊?这个是什么时候输出的?

顾晓北 | 园豆:10898 (专家六级) | 2016-10-17 14:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册