Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.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 在同一类中声明类的对象时,内存无限 class-firsttry{ 公共静态void main(字符串[]args){ INTA=10; firsttry first=新的firsttry(); 首先,计算(a); } 公共空间计算(int b){ for(int i=0;i_Java_Class_Object_Memory - Fatal编程技术网

Java 在同一类中声明类的对象时,内存无限 class-firsttry{ 公共静态void main(字符串[]args){ INTA=10; firsttry first=新的firsttry(); 首先,计算(a); } 公共空间计算(int b){ for(int i=0;i

Java 在同一类中声明类的对象时,内存无限 class-firsttry{ 公共静态void main(字符串[]args){ INTA=10; firsttry first=新的firsttry(); 首先,计算(a); } 公共空间计算(int b){ for(int i=0;i,java,class,object,memory,Java,Class,Object,Memory,main是一个静态方法,因此它不需要任何类型为firsttry的对象实例(即不创建类型为firsttry的对象)。特别是,当您创建类型为firsttry的新对象时,main不会被调用,因此new调用只执行一次 如果类的构造函数中有new firsttry(…),则确实存在执行次数无限的危险。main是一个静态方法,因此它不需要任何类型为firsttry的对象实例(即没有创建类型为firsttry的对象)。特别是,当创建类型为firsttry的新对象时,main不会被调用,因此new调用只执行一次

main
是一个静态方法,因此它不需要任何类型为
firsttry
的对象实例(即不创建类型为
firsttry
的对象)。特别是,当您创建类型为
firsttry
的新对象时,
main
不会被调用,因此
new
调用只执行一次


如果类的构造函数中有
new firsttry(…)
,则确实存在执行次数无限的危险。

main
是一个静态方法,因此它不需要任何类型为
firsttry
的对象实例(即没有创建类型为
firsttry
的对象)。特别是,当创建类型为
firsttry
的新对象时,
main
不会被调用,因此
new
调用只执行一次


如果类的构造函数中有
新的firsttry(..)
,则确实存在执行次数无限的危险。

没有。这完全正常。看:

您运行的是
static main
。您现在没有实例

创建
firsttry
的实例,然后调用循环中有结束条件的
calculate
main
方法在实例化
firsttry
时不会被调用。这不是一个构造函数,而是一个
static
方法


因此,它将运行循环,然后停止。这是正常的。

不。这完全正常。看:

您运行的是
static main
。您现在没有实例

创建
firsttry
的实例,然后调用循环中有结束条件的
calculate
main
方法在实例化
firsttry
时不会被调用。这不是一个构造函数,而是一个
static
方法


因此,它将运行循环然后停止。这是正常的。

我不知道您到底想问什么,但我认为您混淆了静态方法和对象。
main()
是一个不需要实例化的静态方法。此外,如果您混淆了:

class firsttry{
    public static void main(String [] args){
       int a=10;
       firsttry first = new firsttry();
       first.calculate(a);

    }       


    public void calculate(int b){
        for(int i=0;i<10;i++){  
            System.out.println(b);
            b+=10;  
        }

    }

}
然后:

firsttry first = new firsttry();  
是《宣言》和:

firsttry first;   

是实例化。

我不知道您到底想问什么,但我认为您混淆了静态方法和对象。
main()
是不需要实例化的静态方法。此外,如果您混淆了:

class firsttry{
    public static void main(String [] args){
       int a=10;
       firsttry first = new firsttry();
       first.calculate(a);

    }       


    public void calculate(int b){
        for(int i=0;i<10;i++){  
            System.out.println(b);
            b+=10;  
        }

    }

}
然后:

firsttry first = new firsttry();  
是《宣言》和:

firsttry first;   

是实例化。

试着去证实你想问的第一个对象本身有第一个对象你这一行的意思是什么???请使用空格而不是制表符来格式化堆栈溢出上的代码-并在发布前注意预览。你的代码目前很难阅读。此外,遵循正常的命名规则即使是示例代码,也会使其更容易理解。请尝试将您要询问的内容删除第一个对象本身有第一个对象这一行的意思是什么???请使用空格而不是制表符来设置堆栈溢出代码的格式-并在发布前注意预览。您的代码目前很难阅读。此外,请即使对于示例代码,使用常规命名约定也会使其更易于理解。