class Hello
{
Hello()
{
system.out.println("Hello");
}
}
public class SimpleHello
{
public static void main(string[] args)
{
for(int i=0;i<10;i++)
new Hello(); //这里是什么意思?为什么要这么写呢?是调用构造函数吗?那为什么没有对象名?用new不是应该先创建对象,然后再调用吗?请帮忙详细讲讲这里,谢谢
}
}
如果写成下面这样可以吗?跟上面这种比有何优劣呢?
class Hello
{
Hello()
{
system.out.println("Hello");
}
}
public class SimpleHello
{
public static void main(string[] args)
{
Hello x=new Hello();
for(int i=0;i<10;i++)
x.Hello();
}
}
{
Hello()
{
system.out.println("Hello");
}
}
public class SimpleHello
{
public static void main(string[] args)
{
for(int i=0;i<10;i++)
new Hello(); //这里是什么意思?为什么要这么写呢?是调用构造函数吗?那为什么没有对象名?用new不是应该先创建对象,然后再调用吗?请帮忙详细讲讲这里,谢谢
}
}
如果写成下面这样可以吗?跟上面这种比有何优劣呢?
class Hello
{
Hello()
{
system.out.println("Hello");
}
}
public class SimpleHello
{
public static void main(string[] args)
{
Hello x=new Hello();
for(int i=0;i<10;i++)
x.Hello();
}
}
hello.method();
等价与
new Hello().method();(这样简单嘛)如果要调用两个函数这样写就不行了只能
Hello hello = new Hello();
hello.method1();
hello.method2();你下面的写法显然是不行的
Hello x=new Hello();
x.Hello();
//这样的方式为什么不可以呢?同样也是先创建对象x,再由x调用Hello()这个方法啊~
和
Hello hello = new Hello();
hello.method();这个意思不是一样的吗~new Hello(); //这个Hello()指的是类,还是那个构造函数啊?
Hello x;
for(int i=0;i<10;i++)
x=new Hello();
可以看到,这个x在这里是个垃圾,不会真正用到,不写最好
圆括号的意思是不是就是指调用构造函数,比如A a=new A(),这里就是用一个默认构造函数来初始化对象a
把上面那段写成Hello x=new Hello()也是正确的吧?只是对象x后面不用,所以就写成new Hello()
我这些理解对吗?
圆括号的意思是不是就是指调用构造函数,比如A a=new A(),这里就是用一个默认构造函数来初始化对象a
把上面那段写成Hello x=new Hello()也是正确的吧?只是对象x后面不用,所以就写成new Hello()
我这些理解对吗?
"new Helo();的作用有两个,第一,创建一个Hello 对象,第而,创建一个指向这个对象的引用,而new Hello();就代表了这个引用,Hello hello = new Hello();这句话只是把这个引用(reference)传给了引用变量hello,所以hello.method()和new Hello().method(),是一样的,只不过后者在以后的程序中就不能在引用这个对象,而这个对象也会在以后的某个不确定的时间被gc回收"thinking in java也经常用这种方式,如果后面的程序不再需要用到该Hello的引用,就没必要再赋值给他了。这样可以不用创建不必要的引用,提高程序运行效率
这里new Hello()是用来创建对象,并用默认构造函数初始化,hello只是对象的引用,由这个引用可以调用其他的方法
这样的理解,对吗?
构造函数能够被调用,只是不能被继承把
这里new Hello()是用来创建对象,并用默认构造函数初始化,hello只是对象的引用,由这个引用可以调用其他的方法
这样的理解,对吗?
这里new Hello()是用来创建对象,并用默认构造函数初始化,hello只是对象的引用,由这个引用可以调用其他的方法
这样的理解,对吗?
这里new Hello()是用来创建对象,并用默认构造函数初始化,hello只是对象的引用,由这个引用可以调用其他的方法
这样的理解,对吗?
其实就是调用构造函数!用new!
new就是来调用Hello()这个构造函数,因为下面不需要再做其他的事,就不能写出对象的引用了
对不?
new就是来调用Hello()这个构造函数,因为下面不需要再做其他的事,就不能写出对象的引用了
对不?