标签:自动调用 init void 技术分享 初始化块 dem equals static .com
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(){
}
}
标签:自动调用 init void 技术分享 初始化块 dem equals static .com
原文地址:http://www.cnblogs.com/shouhutian/p/5983605.html