java的构造器定义以及使用

构造器,是面向对象所特有的概念,是一种特殊的方法,与对象创建有关
1、构造器没有返回值类型
2、构造器方法名与类名相同,而且可以重载构造器
3、构造器不能手动调用,只能在创建对象时自动调用一次

4、如果没有在类中定义构造方法,在程序编译时会自动生成公开的、无参的空的构造器
5、如果自定义了构造器,就不会自动生成默认构造器,如果需要此无参构造器,需要自定义:public 类名(){}

public class TestConstructor
{
public static void main(String args[]){
//1、构造器重载
OverLoadConstructor olc_1 = new OverLoadConstructor();//使用无参构造器创建对象
OverLoadConstructor olc_2 = new OverLoadConstructor(2);//使用有参构造器创建对象

//2、构造器不能手动调用
//olc_1.OverLoadConstructor();//错误

//3、默认构造器
DefaultConstructor dc = new DefaultConstructor();
System.out.println(dc.name);

//4、自定义构造器
//DefineConstructor dfc = new DefineConstructor();//错误,无参构造器未定义
DefineConstructor dfc = new DefineConstructor(1);
}
}
//构造器重载
class OverLoadConstructor
{
//无参构造器
public OverLoadConstructor(){
System.out.println(“OverLoadConstructor()”);
}
//有参构造器
public OverLoadConstructor(int n){
System.out.println(“OverLoadConstructor(int)”);
}
}
//默认构造器
class DefaultConstructor
{
String name = “ldt”;
}
//自定义构造器
class DefineConstructor
{
public DefineConstructor(int n){
System.out.println(“DefineConstructor(int)”);
}
//无参构造器
//public DefineConstructor(){}
}

© 2014, 李德涛博客. 版权所有.

发表评论

电子邮件地址不会被公开。 必填项已用*标注