Java:1.1:从该类创建类的实例。 1.2:实例化的线程化

标签 java multithreading class download instantiation

我一直在从互联网上下载一个 .java 文件,其中包含一些我不太熟悉的代码。文件的名称是“Class1.java”。

Class1.java

public class Class1 implements Runnable {
       public static Class1 instantiation1 = null;

       public static void main(String[] args) {
              instantiation1 = new Class1();

              (new Thread(instantiation1)).start();
       }

       public void run() {
              /* Do whatever the threads should do.
                 I don't think this part is so important... */
       }
}

1.1:从该类创建类的实例。

public static Class1 instantiation1 = null;
instantiation1 = new Class1();

为什么Class1要创建自己的实例?这种行为有自己的名字吗?

1.2:实例化线程化。

(new Thread(instantiation1)).start();

使用实例化作为线程而不是像这样创建线程是否常见:

Thread <thread name> = new Thread();

我期待着问题和答案。 感谢您抽出时间。

最佳答案

1.1:你可能会因为“Class1”这个名字而感到困惑。它是类的名称,如“Socket”、“XMLReader”或其他名称。它与“类”对象没有任何关系,这是完全正常的。如果你将开头读为 Socket _socket = new Socket();这是有道理的,对吧?尝试将“Class1”重命名(如果使用 eclipse,则使用 alt-shift-R)“Class1”为“MyRunnableObject”,效果会更好:)

1.2:线程与类的“实例”无关,尽管他的名字如此。该对象之前已创建,现在它可以运行,就像任何可运行对象一样。将“instantation”重命名为“_runnable”,突然之间,它变得更有意义了:)

我觉得你被糟糕的变量命名误导了,如果不是这样,请原谅我不恰当的回答:)

关于Java:1.1:从该类创建类的实例。 1.2:实例化的线程化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20539453/

相关文章:

java - 当线程抛出异常时会发生什么?

java - 服务器在Java中同时处理来自多个客户端的 "n"请求

python - 在类中调用模块函数

java - 使用 jackson Spring 解析对象数组

java - 递减和递增速记运算符是速记赋值运算符的类型吗?

Java 文件光标

java - 为什么 apache.commons.text.InterpolatorStringLookup 缺少合适的构造函数?

一个程序可以同时在同一个 FILE* 上调用 fflush() 吗?

java - Java中的main和constructor可以一起放在一个类中吗

c++ - 标题保护 C++ 的“类”类型重新定义错误