gpt4 book ai didi

Java 定义或初始化类的属性

转载 作者:IT老高 更新时间:2023-10-28 21:01:25 24 4
gpt4 key购买 nike

定义类属性和初始化它们有区别吗?在某些情况下您想要做一个而不是另一个?

示例:

以下代码片段应该指出我的意思的不同之处。我在那里使用了一个原始对象和一个对象:

import Java.util.Random;

public class Something extends Activity {
int integer;
Random random = null;

Something(){
integer = 0;
random = new Random();
....

对比

import Java.util.Random;

public class Something extends Activity {
int integer = null;
Random random;

Something(){
integer = 0;
random = new Random();
....

最佳答案

首先,您不能将原语设置为 null,因为原语只是 null 是对象引用的数据。如果你试图编译 int i = null 你会得到一个不兼容的类型错误。

在类中声明变量时,第二次将变量初始化为 null0 是多余的,就像在 Java 中一样,原语默认为 0(或false) 和对象引用默认为 null。但是,局部变量并非如此,如果您尝试以下操作,您将在编译时收到初始化错误

 public static void main(String[] args)
{
int i;
System.out.print(i);
}

将它们显式初始化为默认值 0falsenull 是没有意义的,但您可能希望将它们设置为另一个默认值然后您可以创建一个具有默认值的构造函数,例如

public MyClass
{
int theDate = 9;
String day = "Tuesday";

// This would return the default values of the class
public MyClass()
{
}

// Where as this would return the new String
public MyClass (String aDiffDay)
{
day = aDiffDay;
}
}

关于Java 定义或初始化类的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17539653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com