zoukankan      html  css  js  c++  java
  • Java字段初始化规律

      首先先附上一段代码:public class InitializeBlockDemo {

    public static void main(String[] args) {
            
            InitializeBlockClass obj=new InitializeBlockClass();
            System.out.println(obj.field);
            
            obj=new InitializeBlockClass(300);
            System.out.println(obj.field);
        }
    
    }
    
    class InitializeBlockClass{
      //
      
      //public int field=100;
      //
        {
            field=200;
        }
    
        public int field=100;
    
        public InitializeBlockClass(int value){
            this.field=value;
        }
    
        public InitializeBlockClass(){
            
        }
    }

      下面开始介绍一下,在Java中字段的初始化规律,通常使用三种方法:类成员定义的默认值,类的构造方法,类的初始化块。

      1、成员定义的默认值

    public int field=100;

      通常我们在定义一个变量时,往往会赋予一个初始值。因此在创建类的对象时,便能给于初值。

      2、类的构造方法

    public InitializeBlockClass(int value){
            this.field=value;
        }
    
        public InitializeBlockClass(){
            
        }

      类的构造方法,也就是C/C++所指的的“构造函数”,当创建一个对象的时候,其类的构造方法便会被自动调用。构造方法的命名方式很简单,与类名相同,没有返回值。根据参数的不同可以进行重载。当我们没有定义构造方法时,Java编译器会默认一个没有参数的构造方法,但当我们定义了构造方法,系统将不会提供默认的构造方法。因此在定义构造方法时,一定满足调用所需要的条件。

      3、类的初始化块

    {
            field=200;
    }

      在类中使用“{”,“}”将语句包含,在内对成员进行初始化。

      当我们在调用时,其调用顺序又会是什么呢?经过对上述函数的改造,运行,我们可以得到结果,其运行顺序于调用的时间有关,取决于调用时成员的结果如上述程序,当调用的构造方法无参数时,其结果为field的最后得数 100,而将初始化块和定义顺序调过来时,其答案变为 200。在调用有参数的构造方法时,其答案便成了参数的结果 300。

  • 相关阅读:
    如何设定Fckeditor的工具栏
    WINDOWS 8
    博弈论
    互联网协议入门
    关于“性”
    两个看似互斥矛盾的法则,在更高的法则上会达到统一
    silverlight后台加载本地图片
    REST(Representational State Transfer表述性状态转移)
    各个搜索引擎网站管理员工具地址
    OAuth
  • 原文地址:https://www.cnblogs.com/fwk123/p/11686310.html
Copyright © 2011-2022 走看看