java - 类主体中实例变量的默认值
问题描述
当我们在类的主体中写Instance变量,并且给定构造函数初始化它们,那么为什么我们可以直接在构造函数之外初始化变量而不去构造函数呢?这不是建造者的职责吗?
class Sample{
LinkedList<String> string=new LinkedList<>();//Initializing in the body of the class
String value="Hi";//Initializing in the body of the class
public Sample(){
//shouldnt string and value initialize here?}
}
解决方案
字段初始化发生在构造函数主体执行之前。这在某些情况下很有用,例如,如果您有多个构造函数,并且该字段应该具有相同的初始值。在您的示例中,您总是希望从一个空列表开始,因此您可以避免空指针异常。这对于一般的集合来说确实是一个很好的做法。
推荐阅读
- string - Lua 字符串库中 ^ 和 $ 的作用
- android - 如何解决 Ionic 4 中 Rest API 的 CORS 策略问题
- asp.net - 在 ASP .NET 中访问多页项
- python - 在Python中的文本文件中替换特定行中的字符串
- c# - C# 如何将整数类型的项隐式转换为双精度项?
- python - 有没有办法在打开窗口后立即在 tkinter 中调用函数?
- c# - 从后端发送的通知未出现在 Firebase 控制台上
- python - Selenium/python 无法到达特定地址
- token - Solidity 中的 EndSale() 函数失败
- rust - 我的 crate 如何检查依赖项的选定功能?