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

系统 1635 0

原文地址: http://www.java2000.net/p11583

这里主要看类的构造器的情况,默认的,无参数的,有参数的,有不同参数类型的,有多个参数的等各种情况。
  1. package  lession7;
  2. /**
  3.  * 老紫竹JAVA基础培训(7),构造器的使用.<br>
  4.  * 
  5.  * @author 老紫竹 JAVA世纪网(java2000.net)
  6.  * 
  7.  */
  8. public   class  Lession7 {
  9.    public   static   void  main(String[] args) {
  10.      new  class1();  // 使用了系统自动提供的无参数构造器
  11.      new  class2();  // 使用了手工编写的无参数构造器
  12.      new  class3();  // 使用无参数构造器
  13.      new  class3( "java2000.net" );  // 使用有参数构造器
  14.      // new class4(); // 使用无参数构造器失败
  15.      new  class4( "java2000.net" );  // 调用有参数构造器
  16.      new  class5();  // 使用无参数构造器
  17.      new  class5( "java2000.net" );  // 调用有参数构造器
  18.      new  class5( 1 );  // 调用有参数的构造器
  19.      new  class5( "java2000.net" 1 );  // 带2个参数的构造器
  20.   }
  21. }
  22. class  class1 {
  23.    // 此类没有写任何构造器
  24.    // 系统会自动提供一个默认的 public 的无参数构造器
  25. }
  26. class  class2 {
  27.    // 手工编写的无参数构造器
  28.    // 如果只有这个构造器,则和class1没有任何区别
  29.    public  class2() {
  30.   }
  31. }
  32. class  class3 {
  33.    // 无参数的构造器
  34.    public  class3() {
  35.   }
  36.    // 有参数的构造器
  37.    public  class3(String name) {
  38.   }
  39. }
  40. class  class4 {
  41.    // 这个类只有一个带参数的构造器
  42.    // 系统不会自动生成无参数的构造器的
  43.    public  class4(String name) {
  44.   }
  45. }
  46. class  class5 {
  47.    // 无参数构造器
  48.    public  class5() {
  49.   }
  50.    // 带字符串参数的构造器
  51.    public  class5(String name) {
  52.   }
  53.    // 带整形数字参数的构造器
  54.    public  class5( int  age) {
  55.   }
  56.    // 带2个参数的构造器
  57.    public  class5(String name,  int  age) {
  58.   }
  59. }

测试, 记得每次测试后恢复现场哦
1 如果你已经写了其它的构造器,则默认的无参数构造器就不存在了,尝试把
    // new class4(); // 使用无参数构造器失败
前面的注释去掉,看看输出结果

2 尝试在一个class4再增加一个字符串为参数的构造器看看
  1. public  class4(String address){
  2. }
看看编译结果。

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

4 尝试把 public 的构造器,改成默认的,也就是没有修饰符的看看,比如
  1. class4(String name){
  2. }
5 尝试把类挪到另一个目录,看看编译情况

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




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

2 如果有了任何的构造器,系统不再提供
老紫竹JAVA基础培训(7),构造器的使用


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


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


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论