Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果初始化方法';s参数未在类中声明?_Java_Oop - Fatal编程技术网

Java 如果初始化方法';s参数未在类中声明?

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

通常,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
    }

}
首先在类中声明
字符串名
,然后在初始化实例时,将
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优化掉。这有用吗不