A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马云 中级黑马   /  2012-3-19 14:42  /  1138 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

默认构造方法

默认构造方法是没有参数的构造方法,可分为两种:(1)隐含的默认构造方法;(2)程序显式定义的默认构造方法。

在Java语言中,每个类至少有一个构造方法。为了保证这一点,如果用户定义的类中没有提供任何构造方法,那么Java语言将自动提供一个隐含的默认构造方法。该构造方法没有参数,用public 修饰,而且方法体为空,格式如下:

public ClassName(){} //隐含的默认构造方法

在程序中也可以显式地定义默认构造方法,它可以是任意的访问级别。例如:

protected Employee() { //程序显式定义的默认构造方法

this("无名氏");

}

如果类中显式定义了一个或多个构造方法,并且所有的构造方法都带参数,那么这个类就失去了默认构造方法。在以下程序中,Sample1类有一个隐含的默认构造方法,Sample2类没有默认构造方法,Sample3类有一个显式定义的默认构造方法。

public class Sample1{}

public class Sample2{

public Sample2(int a){System.out.println("My Constructor");}

}

public class Sample3{

public Sample3(){System.out.println("My Default Constructor");}

}

可以调用Sample1类的默认构造方法来创建Sample1对象。

Sample1 s=new Sample1(); //合法

Sample2类没有默认构造方法,因此以下语句会导致编译错误。

Sample2 s=new Sample2(); //编译出错

Sample3类显式定义了默认构造方法,因此以下语句是合法的。

Sample3 s=new Sample3();

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马