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 、说明:
上述中的①、②、③在对象创建过程中,只执行一次。
④ 是在对象创建后执行的,可以根据需求多次执行。