Chr*_*ava 19 java attributes class initializing
定义类属性和初始化它们之间有区别吗?有没有你想要一个做另一个的情况?
例:
以下代码片段应指出我的意思.我在那里使用原始和对象:
import Java.util.Random;
public class Something extends Activity {
int integer;
Random random = null;
Something(){
integer = 0;
random = new Random();
....
Run Code Online (Sandbox Code Playgroud)
与
import Java.util.Random;
public class Something extends Activity {
int integer = null;
Random random;
Something(){
integer = 0;
random = new Random();
....
Run Code Online (Sandbox Code Playgroud)
Jav*_*vil 17
首先,您不能将基元设置为null,因为基元只是数据,其中null
是对象引用.如果您尝试编译int i = null
,则会出现不兼容的类型错误.
其次,将变量初始化为null
或0
在类中声明它们是多余的,如在Java中,原语默认为0
(或false
),对象引用默认为null
.但是,对于局部变量,情况并非如此,如果您尝试以下操作,则会在编译时遇到初始化错误
public static void main(String[] args)
{
int i;
System.out.print(i);
}
Run Code Online (Sandbox Code Playgroud)
明确地将初始化为一个缺省值0
或false
或者null
是毫无意义的,但你可能想将它们设置为另一默认值,那么你可以创建具有例如默认值的构造函数
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;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
37567 次 |
最近记录: |