大家看一下这个new是什么意思

来源:百度知道 编辑:UC知道 时间:2024/07/02 07:33:50
class b
{
static int count;
b()
{
count++;
System.out.println("Object"+count+"constract");
}
public static void main(String[] args)
{
new b();
new b();
new b();

}
}

这里的
b()
{
count++;
System.out.println("Object"+count+"constract");
}
是什么?
new b();又是什么?

New有3种用法
第一种是,实例化如:New Class();

第二种是,public new 隐藏基类的方法;

第三种是,在泛型类申明中的任何类型参数都必须有公共的无参构造函数。
在这里是实例化类b.

b()
{
count++;
System.out.println("Object"+count+"constract");
} 这个是构造方法,在每次实例化b类的时候会调用。
老兄多看看java基本书,希望多给分,呵呵。

b()
{
count++;
System.out.println("Object"+count+"constract");
}
构造方法:和类名相同。在NEW实例类的时候调用

就你这段来说吧!b()
{
count++;
System.out.println("Object"+count+"constract");
}
这个是你定义class b的一个无参数的构造方法!方法中把count自加,每调用一次这个构造方法count就自加一次并且输出你后边那条语句!new()表示调用class b的那个无参构造方法!new是用来实例化的,每new一次都会生成一个对象,但是直接new出来的没有定义他的引用,也叫做匿名对象,当你又new下一个对象,上边那个因为没有引用指向他,就变成了传说中的垃圾了,等待垃圾回收器的回收,b a=new b()相信你明白这个吧?是不是看到前边那段没了就不懂了?这只是没有给他定义引用,所以这样的匿名对象也只能使用一次,下一次就找不到了!我这样说你明白了吗?

b()实际上是构造器 一般用构造方法来描述 但是这样说是不准确的 因为作为一个对象的方法出了包含方法的签名(即方法的参数列表外) 还需要包含返回值 而构造器是没有任何返回值的 且构造器的的名称要与类的名称相同 这里static表示