Java的类可以在声明成员变量的时候初始化吗?

看源码貌似是可以,甚至还可以构造别的类的实例,不用放在构造函数里初始化吗?
我记得C++还是C#是不能在类的声明里进行初始化的。

可以的!
class Apple{
Pare p=new Pare();
}
class Pare{
}

同样,C#也可以。而C++不可以这么做!
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-02-17
可以直接初始化,比如:
class Bar{
Bar() throws Exception{
}
}

class Foo{
private Bar bar = new Bar();
public Foo() throws Exception{
}
}

java语言中成员方法可以初始化成员变量吗?
不能 一、类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量。类的编译决定了类的初始化过程。编译器生成的class文件主要对定义在源文件中的类进行了如下的更改:1) 先按照静态成员变量的定义顺序在类内部声明成员变量。2) 再按照原java类中对成员变...

java中为什么要为类的属性初始化
当然也可以不初始化,在需要的时候调用方法进行初始化。如果满意,请采纳,谢谢。

java中对成员变量的初始化一定要用构造函数吗?可以直接对成员变量赋初...
可以直接赋值的,在构造里写只不过是为了方便,因为使用一个类的时候通常都要先new出该类的实例在构造里赋值,这样在new这个类的实例的时候成员变量就已经被初始化了。方便使用而已。

Java和C++类成员初始化的区别
1、在c++中,那个叫做数据成员,但在java中,它叫做成员变量。2、C++中的成员一定要在构造函数中进行赋值,而java中在定义是可以直接使用new进行初始化。3、在C++中,为了允许运行时动态决定哪个函数被调用,一个函数必须用virtual修饰。而在Java中,除了static、final、private是静态绑定以外,所有方法一律...

java里面局部变量使用前必须初始化,能给详细讲讲嘛?
成员变量会被系统默认初始化,局部变量没这功能,所以必须自己初始化。还要注意静态成员变量也没系统默认初始化,必须在初始化块或者定义时或者构造函数里进行手动初始化

Java中所有变量在使用前都初始化吗
1、java中有两种变量,局部变量和成员变量。成员变量就是定义在类中,方法外,全局的变量。局部变量使用前必须初始化,否则编译报错。成员变量可以不初始化,虚拟机会给他默认值。class test { \/\/定义成员变量bpublic static int b;public static void main(String[] args) {System.out.println(...

java里对象的初始化有什么作用,什么时候要用到
基本类型数据用着全局变量,声明后如果不初始化的话,java虚拟机将自动对其初始化,比如你在类的成员变量中声明:int age;\/\/这里没有初始化,将产生默认值0;其他基本类型数据都有其默认值。但如果是声明局部变量,比如说在某个方法中,就必须先初始化再调用,如: void add(){ int a;System.out....

Java 类中声明一个变量 int name;和int name=null;是一样的吗有什么不...
int name=null;这样是错误的,int的初始化是0,null代表的是引用数据类型没有指向。。。int name这个就是声明一个变量但是不初始化,如果是成员变量的话会默认初始化,如果是局部变量不初始化直接使用会报错

为什么Java中的局部变量必须要初始化?
Java中的变量分为类变量,成员变量和局部变量,分别位于JVM的方法区、堆内存和栈内存中。类变量和成员变量都可以在类首次加载和类初始化时,给出默认值,但是局部变量就必须要在使用前赋值。实际上,Java完全可以设计成局部变量不需要初始化,只要作者们高兴。事实上,就有这样的语言,比如C++。当然,C++...

java怎么区别成员变量与局部变量,怎么为他们赋值;方法重载与类的重置...
在全局变量的创建中可以不手动初始化。JAVA虚拟机会自动给全局变量初始化。如果你定义的是int型,自动初始化为0。定义的boolean,自动初始化为false。定义的object型,自动初始化为null。类变量,声明在类中方法体之外的变量。在成员变量前加 static即 static int x;就样就声明了一个x类变量。它的作用...

相似回答