构造代码块优先于构造函数执行 测试程序- /*构造函数
- 对象已建立就会调用与之对应的构造函数
- 作用:可用于初始化对象
- 当一个类中韦定义构造函数时,系统会默认给该类构建一个空的参数的构造函数;
- 当自定义构造函数后,系统不再定义空参数的构造函数
- */
- class PersonDemo2
- {
- public static void main(String[] args)
- {
- System.out.println("Hello World!");
- // Person p1 = new Person();
- // Person p2 = new Person("Lili");
- Person p3 = new Person("Lilei",12);
- }
- }
- class Person
- {
- private String name;
- private int age;
-
-
- /*定义构造函数,函数名与类名必须一致*/
- // Person()
- // {
- // System.out.println("A:系统默认的构造函数,无参数");
- // }
- //
- // Person(String n)
- // {
- // name = n;
- // System.out.println("B:Name = "+name);
- // }
- Person(String s,int n)
- {
- name = s;
- age = n;
- System.out.println("C:Name = "+name +"," + "age = " + age);
- }
- /*构造代码块:对象一建立就运行,运行顺序: 构造代码块 --> 构造函数
- 作用:给所有对象进行初始化,而构造函数则通过函数重载
- 方式调用,不同对象可能调用不同的构造函数*/
- {
- System.out.println("这是代码块起始位置:");
- age = 2;
- System.out.println("代码块赋值age = :"+age);
- }
-
- public void setName(String na)
- {
- name = na;
- }
- public String getName()
- {
- return name;
- }
- }
复制代码 |
|