Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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 如果构造函数被声明为不完整类型,会发生什么?_Java_Memory_Constructor_Initialization_Declaration - Fatal编程技术网

Java 如果构造函数被声明为不完整类型,会发生什么?

Java 如果构造函数被声明为不完整类型,会发生什么?,java,memory,constructor,initialization,declaration,Java,Memory,Constructor,Initialization,Declaration,只是好奇而已。具有以下简单类: public class Foo { private static int fooVar = 1; private int foo; private int boo = 1; // another int, not a typo public Foo(int foo) { this.foo = foo; } } 电话: Foo a, b, c; 哪个先申报?(我假设从lft到右边)实例变量fooVar和foo是否也

只是好奇而已。具有以下简单类:

public class Foo {
   private static int fooVar = 1;
   private int foo;
   private int boo = 1; // another int, not a typo
   public Foo(int foo) {
      this.foo = foo;  
   }
}
电话:

Foo a, b, c;
哪个先申报?(我假设从lft到右边)实例变量
fooVar
foo
是否也声明了?记忆中发生了什么?变量
boo
的值是否保存在内存中,即使构造函数根本没有被调用?

Nikolas

a、 b和c是Foo类型的指针。正如你所说,它们应该从左到右声明

因为这和声明是一样的

福阿

富b

富科

记忆中发生了什么?变量boo的值是否保存在 内存甚至构造函数都没有被调用

没有这样的值boo或foo(输入错误?)

如果尚未调用构造函数,则代码中还没有对象

如果要这样做:

Foo a= new Foo();
实际上,您正在按以下顺序做两件事: 首先创建一个Foo对象,然后它是一个指向Foo的指针a

记住,构造函数就像一个方法。请在之前添加(){ 如果要传递一个输入变量,请在() 比如:


声明对您来说意味着什么?没有创建任何对象,因此实际上没有发生任何事情。您的代码基本上在每一行都有编译错误。请在发布之前检查您的代码。
fooa,b,c;
只在堆栈框架中为三种引用类型保留插槽。没有执行任何指令。这可能会有所帮助。很抱歉,刚才看到您的v变量。不,它们没有被创建,因为还没有对象。到目前为止,你只有指针。
public Foo(foo) {
      this.foo = foo;  }