Java中的对象创建语法
关于使用Java中的对象创建语法,java,syntax,jvm,jvm-languages,Java,Syntax,Jvm,Jvm Languages,关于使用new关键字创建对象的语法。我知道创建对象的语法是: Foo ref = new Foo(); java语言本身是否提供了一些机制,可以创建除上述标准语法之外的对象 我知道Scala有这样的功能,或者可能是其他JVM兼容语言,但我只想从核心java的角度了解一下 不使用关键字“new”和赋值运算符“=”。例如,它可以类似于Foo ref Create()?现在我想开发“Create”方法来取代传统的语法 创建对象的另一种方法是通过反射: Foo ref = Foo.class.newI
new
关键字创建对象的语法。我知道创建对象的语法是:
Foo ref = new Foo();
java语言本身是否提供了一些机制,可以创建除上述标准语法之外的对象
我知道Scala有这样的功能,或者可能是其他JVM兼容语言,但我只想从核心java的角度了解一下
不使用关键字“new”和赋值运算符“=”。例如,它可以类似于Foo ref Create()?现在我想开发“Create”方法来取代传统的语法 创建对象的另一种方法是通过反射:
Foo ref = Foo.class.newInstance()
创建对象的另一种方法是通过反射:
Foo ref = Foo.class.newInstance()
Class.newInstance()
使用反射API,例如
Foo ref = Foo.class.newInstance();
请阅读API类的相关内容。去吧,它会帮你的
这可以为您提供一个良好的开端,即使用反射API例如
Foo ref = Foo.class.newInstance();
请阅读API类的相关内容。去吧,它会帮你的
这可以给你一个好的开始以下是你想要的:
在Java中创建对象的不同方法 这是一件琐事。是的,这是一个有点棘手的问题,人们经常会感到困惑。我找了很多东西来消除我的疑虑 在java中创建对象有四种不同的方法(我真的不知道还有第五种方法吗):
来源:
附言:我从文章中复制了文本,这样即使链接断开也能看到
我希望这能有所帮助。以下是您想要的:
在Java中创建对象的不同方法 这是一件琐事。是的,这是一个有点棘手的问题,人们经常会感到困惑。我找了很多东西来消除我的疑虑 在java中创建对象有四种不同的方法(我真的不知道还有第五种方法吗):
来源:
附言:我从文章中复制了文本,这样即使链接断开也能看到
我希望这会有所帮助。通过在类上创建静态工厂方法,可以避免在大多数代码中使用
new
操作符:
class Foo
{
public static Foo create()
{
return new Foo();
}
}
然后实例化如下所示:
Foo f = Foo.create();
这并不是更简洁,但是它确实有一些优势,如《有效Java》第1节所述:它允许泛型类型的类型推断(
Map m=Maps.newHashMap();
而不是Map m=newHashMap();
),并允许您将来更改方法,例如,在每次调用时将对象记忆化,而不是创建新对象。通过在类上创建静态factory方法,可以避免在大多数代码中使用new
操作符:
class Foo
{
public static Foo create()
{
return new Foo();
}
}
然后实例化如下所示:
Foo f = Foo.create();
这并不是更简洁,但是它确实有一些优势,如《有效Java》第1节所述:它允许泛型类型的类型推断(
Map m=Maps.newHashMap();
而不是Map m=newHashMap();
),并允许您在将来更改方法,例如,在每次调用时记录对象,而不是创建新对象。赋值运算符与对象的创建无关。赋值运算符与对象的创建无关。尽管如此,请原谅,这仍然是剽窃。链接可能会消失,让这个答案独立于它。我复制了文本,其中提到了来源。这显然不是剽窃。仅仅提到来源是不够的:只做一个复制粘贴,没有自己的贡献,你的答案也是剽窃。@SalmanAyub别担心,答案还在这里:这里没有剽窃;这样的程序可能不太恰当,但答案却要归功于原文作者,只引用了一个理由