zoukankan      html  css  js  c++  java
  • 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("类不支持多重继承!!!!!!!!!!!!!!!!");
        }
        
    }
  • 相关阅读:
    一次Zookeeper 扩展之殇
    宜信敏捷数据中台建设实践|分享实录
    初学Docker容器网络不得不看的学习笔记
    Codeforce-CodeCraft-20 (Div. 2)-B. String Modification (找规律+模拟)
    Codeforce-CodeCraft-20 (Div. 2)-A. Grade Allocation
    Codeforce-Ozon Tech Challenge 2020-C. Kuroni and Impossible Calculation(鸽笼原理)
    Codeforce-Ozon Tech Challenge 2020-B. Kuroni and Simple Strings(贪心)
    Codeforce-Ozon Tech Challenge 2020-A. Kuroni and the Gifts
    Codeforces Round #509 (Div. 2) A. Heist 贪心
    CodeForces
  • 原文地址:https://www.cnblogs.com/wucaifang/p/3312889.html
Copyright © 2011-2022 走看看