JAVA基础培训(7),构造器的使用

这里主要看类的构造器的情况,默认的,无参数的,有参数的,有不同参数类型的, 有多个参数的等各种情况。

package lession7;/*** 老紫竹JAVA基础培训(7),构造器的使用.** @**/public class Lession7 { public static void main(String[] args) {  new class1(); // 使用了系统自动提供的无参数构造器  new class2(); // 使用了手工编写的无参数构造器  new class3(); // 使用无参数构造器  new class3("xxxxxx"); // 使用有参数构造器  // new class4(); // 使用无参数构造器失败  new class4("xxxxxx"); // 调用有参数构造器  new class5(); // 使用无参数构造器  new class5("xxxxxx"); // 调用有参数构造器  new class5(1); // 调用有参数的构造器  new class5("xxxxxx", 1); // 带2个参数的构造器 }}class class1 { // 此类没有写任何构造器 // 系统会自动提供一个默认的 public 的无参数构造器}class class2 { // 手工编写的无参数构造器 // 如果只有这个构造器,则和class1没有任何区别 public class2() { }}class class3 { // 无参数的构造器 public class3() { } // 有参数的构造器 public class3(String name) { }}class class4 { // 这个类只有一个带参数的构造器 // 系统不会自动生成无参数的构造器的 public class4(String name) { }}class class5 { // 无参数构造器 public class5() { } // 带字符串参数的构造器 public class5(String name) { } // 带整形数字参数的构造器 public class5(int age) { } // 带2个参数的构造器 public class5(String name, int age) { }}

测试,记得每次测试后恢复现场哦:

1 如果你已经写了其它的构造器,则默认的无参数构造器就不存在了,尝试把

// new class4(); // 使用无参数构造器失败

前面的注释去掉,看看输出结果

2 尝试在一个class4再增加一个字符串为参数的构造器看看

public class4(String address){}

看看编译结果。

3 尝试把 public 的构造器改成 private 的看看编译结果

4 尝试把 public 的构造器,改成默认的,也就是没有修饰符的看看,比如

class4(String name){}

5 尝试把类挪到另一个目录,看看编译情况

6 把类挪到另外一个目录,切按照4改成默认的,然后编译看看

总结:

1 没有任何构造器的类,系统会自动提供一个无参数的public的构造器

2 如果有了任何的构造器,系统不再提供

3 构造器的参数类型和个数,顺序不能完全相同,这个和参数的名字没关系,只和类 型有关

有的事情现在不做,就一辈子也不会做了。

JAVA基础培训(7),构造器的使用

相关文章:

你感兴趣的文章:

标签云: