面向对象静态代码块

来源:互联网 发布:c 界面编程 编辑:程序博客网 时间:2024/05/21 09:14
/*
StaticCodeDemo.java
主要考输出的结果。静态代码块。格式:static{静态代码块中的执行语句。}特点:随着类的加载而执行,只执行一次。并优先于主函数执行。用于给类进行初始化。*///1、输出 b c a over//2、输出 a show runclass StaticCode{int num=9;StaticCode()//构造函数{System.out.println("b");}//构造函数,给对象初始化StaticCode(int x)//构造函数{System.out.println("d");}//静态代码块给类初始化static{System.out.println("a");//静态代码块不能访问非静态变量num}//构造代码块,给对象初始化{System.out.println("c"+this.num);//构造代码块,可以访问非静态变量this.num}public static void show(){System.out.println("show run");}}class StaticCodeDemo{static{//1、//System.out.println("b");}public static void main(String[] args) {//1、是否一定要写对象才被加载?不是的!/* new StaticCode();//随着类的加载而执行,只执行一次。new StaticCode();//不执行,上面已经执行过一次了。System.out.println("over");*///2、//StaticCode.show();//没有对象的时候,没有调用到非静态成员变量,可以直接用类名调用方法。/* //3、a是否有执行?没有,这个s变量没有存储意义,所以没加载,没有结果。StaticCode s=null;//4、加载类功能函数,才有结果。s=new StaticCode();//输出a*///5、new StaticCode(4);}static{//1、//System.out.println("c");}}

0 0
原创粉丝点击