类中属性赋值过程

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

相关推荐
王大师王文峰3 分钟前
Java+AI 面试题(二):业务场景设计 10 例【客服机器人、合同审查、Text2SQL、告警降噪、成本优化】场景题答法与追问链路
java·开发语言·人工智能
言乐612 分钟前
Python实现三轴联动根据数据自动打磨镜片模型
开发语言·python
CHHH_HHH29 分钟前
【Linux网络篇】初识网络与Socket编程基础
linux·服务器·c语言·开发语言·网络·后端·1024程序员节
弦儿30 分钟前
后端 Web 实战:员工管理(新增员工 + 事务管理 + 文件上传)
java·后端
jimy136 分钟前
C++ 中 xvalue 的 identity 存在哪里?和 lvalue 的 identity 有什么区别?
开发语言·c++·1024程序员节
yujunl42 分钟前
U9 无授权的模式WebAPI开发的总结
开发语言·1024程序员节
zzu123zsw1 小时前
为什么 Python 做 Agent 总在并发中崩溃?拆解 Blockcell 在 Rust 下的 Host-Cell 隔离与自愈状态机
开发语言·python·rust·大模型·ai agent
xiaoye-duck1 小时前
《C++ 项目:手写大模型接入 SDK》Provider分析与实现
开发语言·c++·语言模型
Mr-Wanter1 小时前
Spring Boot 接口签名实践
java·spring boot
denlaku2 小时前
JDK 22 新特性详解
java·开发语言