首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 对象初始化跟代码块初始化顺序

2013-10-27 
java 对象初始化和代码块初始化顺序class A{public A(){System.out.println(测试!!!!!!!!!!!)}}class D

java 对象初始化和代码块初始化顺序

class A{    public A(){        System.out.println("测试!!!!!!!!!!!");    }}class Demo19  extends A{    {        x=7;//代码块初始化        System.out.println("hello world!测试代码块的执行顺序!AAAAAAAAAAA");    }    public int x=1;//这里不会初始化变量值  只会声明变量    public int y=2;//这里不会初始化变量值  只会声明变量        public Demo19(){    //super();    //相当于 x=7    //然后x=1;    //y=2;    //y=13;    }    public Demo19(int d_x,int d_y)    {    //super();            //x=7;        //x=1;        //y=2;        //y=13;        x=d_x;        y=d_y;        //super();//假如显示的调用  那么是不能放在这里初始化的    }    //代码块的执行顺序是按照代码块的顺序执行的    //代码块的执行时间:在对象初始化的时候执行!!!!!!!!!!!!!    {        y=13;//代码块初始化        System.out.println("hello world!测试代码块执行的顺序!BBBBBBBBBBBB");    }        //构造函数的代码块        public static void main(String[] args)    {            //这里初始化的时候就跟上面的初始化差不多        Demo19 demo=new Demo19();        System.out.println("测试代码块:x="+demo.x+"  ,y="+demo.y);                //这里的初始化相当于上面的那个操作        Demo19 demoOne=new Demo19(12,45);        System.out.println("测试代码块:x="+demoOne.x+"  ,y="+demoOne.y);                System.out.println("其他的顺序是不变的!这个是比较重要的");                System.out.println("代码块的使用!");            }}

?抽象类的初始化:

abstract class A{   String name;   String id;      public abstract void test();}abstract class B extends A{    //子类也可以是抽象类,不实现父类的方法}class C extends A{    public  void test(){        System.out.println("子类假如不是抽象类  那么必须实现父类的方法");    }}abstract class D1{    /* 抽象类中也是有构造函数的,只是这个只能子类初始化 */        D1(){        System.out.println("测试抽象类的构造函数!");    }        static String name="什么是你";}class D extends D1{    D(){        System.out.println("子类调用父类的构造函数");    }    public void test(){        System.out.println(this.name);                System.out.println("假如抽象类中没有抽象方法,那么继承也是没有问题的");    }}class Demo5{    public static void main(String[] args)    {        D d =new D();        d.test();        System.out.println("抽象类!!!!!");        System.out.println("类不支持多重继承!!!!!!!!!!!!!!!!");    }    }

?

1 楼 dingran 2013-09-12   好,建议看看李刚的书《疯狂java——突破程序员基本功的16课》

这书很是能解惑啊,看完了根本不怕面试什么的了,能理解很透彻。

对于本文提到的问题也有详细Demo说明,还有静态代码块的。

热点排行