java 构造方法

class MyTestClass {

    public int Value;

    public boolean equals(MyTestClass obj){

        return obj.Value ==this.Value;

    }

    public MyTestClass(int initValue){

    Value = initValue;

    }

}

这是类的构造方法,或者构造函数;创建对象时,自动调用。与类名相同,没有返回值。若没有定义构造函数,Java编辑器会自动提供一个没有参数的构造函数;若定义一个构造函数,编辑器将不再提供构造函数。例如:

public class Test{

   public static void main(String[] args){

       Foo obj1=new Foo();

   }

}

class Foo{

  int value;

  public Foo(int initvalue){

  value=initvalue;

  }

}

这个函数会编辑出错。。

下面这个例子更加说明构造函数和默认构造函数

package jxlPacakge;

public class InitializeBlockDemo {

 /**
  * @param args
  */
 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{
 //下面这句在初始化块之前与之后,会影响到field字段的初始值
 //public int field=100;
 
 {
     field=200;
 }
 public int field=100;
 public InitializeBlockClass(int value){
  this.field=value;
 }
 public InitializeBlockClass(){
  
 }
}

原文地址:https://www.cnblogs.com/shouhutian/p/5983605.html