-4

我必须为下面编写的两个 Java 程序/代码创建 UML 图。我的查询是:

  • 接口的子类也是接口吗?
  • 实现可运行接口的类也是接口吗?
  • 方法/函数不能称为类的操作吗?
  • 全局变量是类的唯一属性还是函数中的局部变量也可以这样调用?
  • 在第二个程序中,作者正在向 Thread 构造函数发送一个对象。这是正确的吗?

旁白:有人可以为这两个程序绘制 UML 吗?我很难理解线程、接口和相关关键字,如扩展、实现。

JAVA代码#1

public class RunThreads
  {
    public static void main(String[] args)
      {
        SomeThread p1=new new SomeThread(1);
        p1.start();
        SomeThread p2=new new SomeThread(2);
        p2.start();
        SomeThread p3=new new SomeThread(3);
        p3.start();
      }
  } // end class RunThreads

public class SomeThread extends Thread {
  {
    int myID;
    SomeThread(int id) {
      this.myID=id;
    }
    public void run() {
      int i;
      for(i = 1; i < 11; i++)
        System.out.println("Thread" + myID + ": " + i);
    }
  } // end class SomeThread

JAVA代码#2

public class RunThreads2
  {
    public static void main(String[] args)
      {
        Thread p1 = new Thread(new SomeThread2(1));
        p1.start();
        Thread p2 = new Thread(new SomeThread2(2));
        p2.start();
        Thread p1 = new Thread(new SomeThread2(3));
        p3.start();
      }
  } // end class RunThread2

class SomeThread2 implements Runnable {
  int myID;
  SomeThread2(int id) {
    this.myID = id;
  }
  public void run() {
    int i;
    for(i=1; i<11; i++)
      System.out.println("Thread " + myID + ": " + i);
    }
  } // end class SomeThread2
4

2 回答 2

0

接口的子类也是接口吗?

没有接口的子类之类的东西。您可以extend一个接口与另一个接口,也可以implement一个接口与一个类。

实现可运行接口的类也是接口吗?

不——这是一堂课。接口是用 定义的interface,而不是class

方法/函数不能称为类的操作吗?

当然-方法/功能/操作-对我来说听起来像是合理的同义词。在内部,Java 将它们称为方法(参见反射相关的 javadoc

全局变量是类的唯一属性还是函数中的局部变量也可以这样调用?

我假设您将类属性称为类实例拥有的对象/基元 - 在您的第一个示例中,这将myIDSomeThread类中。方法中的局部变量只能在该方法中访问(例如,irun同一类中的方法中),而不是类属性。

在第二个程序中,作者正在向 Thread 构造函数发送一个对象。这是正确的吗?

是的; new SomeThread2(3)返回 的实例SomeThread,它也是一个对象。

有人可以为这两个程序绘制 UML 吗?

不见得。这听起来太像家庭作业了。

于 2013-03-21T06:13:26.100 回答
-1

您可以使用 IBM 理性玫瑰软件为您的程序获取 UML 图(它不是免费版本)

或者如果你开发了编码,那么你应该知道逻辑,你可以使用亿图绘制 UML 图。

线程只能以两种方式使用

通过实现 Runnable 接口或扩展 Thread 类。

简单:如果你使用关键字 extends 那么你使用一个类

如果您使用关键字实现,那么您将使用接口。

于 2013-03-21T06:17:20.680 回答