zoukankan      html  css  js  c++  java
  • 04-JAVA中的类和对象

    1.

     

    Foo对构造函数进行了重载,那么默认的构造函数就不会被使用,在主类中,定义对象的时候,引用构造函数,却没有参数,自然无法通过编译。

    2.

     

    当设定字段初始值在初始化块前面的时候,

    很明显使用了前者;

    当初始化块在设定字段初始值前面的时候,

    同样使用了前者;

    得出的规律是:它们俩,谁在前面,就用谁;

    但是,上面两张图都有一点相同的地方,就是当引用构造函数的时候,那么它的优先级是始终大于设定字段初始值和初始化块的。

    3.

     

    运行结果:

     

    由运行结果可以很明显的看出,当主函数中new Leaf( ) 的时候,从最顶层的类开始,依次调用静态初始化块。

    4.

     

    解决方法:由于静态方法只能访问静态数据,所以,我就想到可以在方法里先定义一个静态对象,这样这个静态方法就可以访问类的实例成员了。

     

    经过验证,发现这个方法确实可行。

    5.

     

    public class LianXi {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
       A1 obj1=new A1();
       A1 obj2=new A1();
       A1 obj3=null;
       System.out.println("已定义了"+A1.num+"个对象。");
        }
    
    }
    class A1{
        static int num=0;
         A1(){
            jiShu();
        }
         static void jiShu(){
             num++;
         }
         
    }

    程序运行结果:

  • 相关阅读:
    过采样算法之SMOTE
    4.4 spring-自定义标签的解析
    4.3 spring-嵌入式beans标签的解析
    4.2 spring-import 标签的解析;
    4.1 spring-alias 标签的解析;
    4.0 spring-注册解析的Bean
    3.9 spring-自定义标签解析
    3.8 spring
    3.8 spring-qualifier 子元素的使用与解析
    3.7 spring-property 子元素的使用与解析
  • 原文地址:https://www.cnblogs.com/haojun/p/5979462.html
Copyright © 2011-2022 走看看