Java 如果初始化方法';s参数未在类中声明?
通常,Java类是:Java 如果初始化方法';s参数未在类中声明?,java,oop,Java,Oop,通常,Java类是: class A { String name; public A(String name_parameter) { this.name = name_parameter; } public static void main(String[] args) { A aaa = new A("ok"); System.out.println(aaa.name); // >>> ok
class A {
String name;
public A(String name_parameter) {
this.name = name_parameter;
}
public static void main(String[] args) {
A aaa = new A("ok");
System.out.println(aaa.name); // >>> ok
}
}
首先在类中声明字符串名
,然后在初始化实例时,将this.name
分配给name\u参数
。这样就可以找到实例.name
,在本例中是“ok”
如果我创建了一个没有名称的类,但仍然在初始化方法中强制使用名称参数,该怎么办
class A {
public A(String name) {
}
public static void main(String[] args) {
A aaa = new A("ok");
}
}
显然,aaa.name
将不存在。但是这段代码仍然可以工作,这会有用吗?如果以这种方式实现,是否有任何方法可以获得“ok”
谢谢,这不会有用,而且您也无法获得“确定”,因为您没有为对象“a”指定任何属性。顺便说一下,您可以参考这些链接以更好地理解。 1)
2) 如果以这种方式实现,您永远无法获得“ok”字符串,因为构造函数不会将其设置为类的任何字段。不,您无法获得“ok”
在这个场景中,我的想法是把它当作一个普通的方法。如果你不在这个方法中做任何事情,什么都不会发生。在这种情况下,没有什么秘密会隐式发生。不,如果您不保存某个内容,那么一旦您离开它存在的范围,它就会消失。这取决于您是否使用该参数。如果你不这样做,它是无用的(除了一些为继承而设计的方法)。基本上,什么都不会发生。参数可能会被JVM优化掉。这有用吗不