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的情况下我们是可以正常访问引用类型静态成员的(?)。

  • 相关阅读:
    maven基本配置
    spring mvc统一异常处理
    HBase介绍
    在 Windows 上安装 Hadoop 教程(转)
    Xshell利用登录脚本从服务器登录到另外一个服务器
    Windows平台下安装Eclipse插件,开发Hadoop应用
    如何编译Apache Hadoop2.2.0源代码
    oracle表空间表分区详解及oracle表分区查询使用方法(转+整理)
    javadoc相关问题
    Linux压缩与解压常用命令
  • 原文地址:https://www.cnblogs.com/wjc920/p/9256169.html
Copyright © 2011-2022 走看看