1 、在类的属性中,可以有哪些位置给属性赋值?
① 默认初始化
package chapter06_oop1.src.com.atguigu09.bean_uml; public class UserTest { public static void main(String[] args) { User u1 = new User(); System.out.println(u1.age); } } class User{ //属性(实际变量) String name; int age; }
② 显式初始化
public class UserTest { public static void main(String[] args) { User u1 = new User(); System.out.println(u1.age); } } class User{ //属性(实际变量) String name; int age = 1; }
②把①给覆盖了
③ 构造器中初始化
package chapter06_oop1.src.com.atguigu09.bean_uml; public class UserTest { public static void main(String[] args) { User u1 = new User(); System.out.println(u1.age); User u2 = new User(2); System.out.println(u2.age); } } class User{ //属性(实际变量) String name; int age = 1; public User(){ } public User(int a){ age = a; } }
③把②给覆盖了
④ 通过 " 对象 . 属性 " 或 " 对象 . 方法 " 的方式,给属性赋值
2 、这些位置执行的先后顺序是怎样?
顺序:① - ② - ③ - ④
3 、说明:
上述中的①、②、③在对象创建过程中,只执行一次。
④ 是在对象创建后执行的,可以根据需求多次执行。