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

构造代码块优先于构造函数执行 测试程序
  1. /*构造函数
  2.         对象已建立就会调用与之对应的构造函数
  3.         作用:可用于初始化对象
  4.         当一个类中韦定义构造函数时,系统会默认给该类构建一个空的参数的构造函数;
  5.         当自定义构造函数后,系统不再定义空参数的构造函数
  6. */
  7. class PersonDemo2
  8. {
  9.         public static void main(String[] args)
  10.         {
  11.                 System.out.println("Hello World!");
  12. //                Person p1 = new Person();
  13. //                Person p2 = new Person("Lili");
  14.                 Person p3 = new Person("Lilei",12);
  15.         }
  16. }

  17. class Person
  18. {
  19.         private String name;
  20.         private int age;
  21.        
  22.        

  23.         /*定义构造函数,函数名与类名必须一致*/
  24. //        Person()
  25. //        {
  26. //                System.out.println("A:系统默认的构造函数,无参数");
  27. //        }
  28. //
  29. //        Person(String n)
  30. //        {
  31. //                name = n;
  32. //                System.out.println("B:Name = "+name);
  33. //        }

  34.         Person(String s,int n)
  35.         {
  36.                 name = s;
  37.                 age = n;
  38.                 System.out.println("C:Name = "+name +"," + "age = " + age);
  39.         }
  40. /*构造代码块:对象一建立就运行,运行顺序: 构造代码块 --> 构造函数
  41.         作用:给所有对象进行初始化,而构造函数则通过函数重载
  42.         方式调用,不同对象可能调用不同的构造函数*/
  43.         {
  44.                 System.out.println("这是代码块起始位置:");
  45.                 age = 2;
  46.                 System.out.println("代码块赋值age = :"+age);
  47.         }

  48.        
  49.         public void setName(String na)
  50.         {
  51.                 name = na;
  52.         }

  53.         public String getName()
  54.         {
  55.                 return name;
  56.         }
  57. }
复制代码

0 个回复

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