zoukankan      html  css  js  c++  java
  • 属性的几种初始化方法

    1.初始化属性变量的几种时机:

        1.1定义时初始化;

        1.2构造器中初始化;

        1.3在使用之前初试化;

        1.4使用实例初始化。

    package propertiesinit.one;
    
    public class Main {
        //1.定义时初始化definitionInit
        private int definitionInit=0;
        private int constructorInit;
        private String usingInit;
        private String instanceInit;
        //2.构造方法初始化constructorInit
        public Main() {
            constructorInit=0;
        }
        @Override
        public String toString() {
            //3.使用时初始化usingInit
            if(usingInit==null){
                usingInit="usingInit";
            }
            return usingInit;
        }
        {
            //4.实例初始化instanceInit
            instanceInit="instanceInit";
        }
    }
    

    2.code1代码会报错,c变量未初始化;code2正常运行。

    package classaccess.one;
    //code1
    public class Main {
        public static void main(String[] args) {
            ClassAccess c;
            //ClassAccess c = null;
            System.out.println(c.i);//The local variable c may not have been initialized
        }
    }
    class ClassAccess{
        private ClassAccess(){}
        public static int i=1;
    }
    //code2
    package classaccess.one;
    public class Main {
        public static void main(String[] args) {
            //ClassAccess c;
            ClassAccess c = null;
            System.out.println(c.i);
        }
    }
    class ClassAccess{
        private ClassAccess(){}
        public static int i=1;
    }

    注:ClassAccess c;和ClassAccess c = null;是有区别的,前者只是定义了c,后者不仅定义c,同时将c初始化为null。在code2中我们可以注意到,在c为null的情况下我们是可以正常访问引用类型静态成员的(?)。

  • 相关阅读:
    java中反射
    mysql 的锁机制和ACID
    名词记忆
    switch语法之PHP
    PHP代码批量加密
    windows 20003 扩展安装后不成功的原因
    apache配置虚拟目录
    移动web在ios和android下点击元素出现阴影问题
    同时屏蔽ios和android下点击元素时出现的阴影
    DES
  • 原文地址:https://www.cnblogs.com/wjc920/p/9256169.html
Copyright © 2011-2022 走看看