接口和包

时间:2012-08-31 05:02:28

标签: java interface

我正在用Java实现一个接口,并想知道为什么这个代码:

package threaddemo;

// Create a new thread...
class NewThread implements Runnable {
      Thread t;
      NewThread(){
        // Create a second, new thread...
        t = new Thread(this, "Demo Thread");
        System.out.println("Child thread: " + t);
        t.start();
      }

    // This is the entry point for the second thread...
    public void run(){
           try {
               for (int i=0; i<5; i++){
                   System.out.println("Child thread: " + i);
                    // Let the thread sleep for a while...
                    Thread.sleep(500);
               }
           } catch (InterruptedException e) {
                   System.out.println("Child interrupted...");
               }
                   System.out.println("Exiting child thread...");
           } }

public class ThreadDemo {

    public static void main(String[] args) {
            // Create a new thread...
            new NewThread(); 
            try {
                for (int i=0; i<5; i++){
                    System.out.println("Main thread: " + i);
                       Thread.sleep(1000);
                }
            } catch (InterruptedException e){
                System.out.println("Main thread itnerrupted...");
            }
            System.out.println("Main thread exiting...");
    } }

在其左侧生成以下警告:

Package Field

实现接口时,是否可以访问包含接口的包中的类?我的包中还没有其他文件,我也没有做任何导入,所以我真的很困惑为什么这可以从...开始访问...

1 个答案:

答案 0 :(得分:1)

从来没有见过那个警告,所以在这里出去......你有没有为班级定义一个包裹?否则,这可能意味着Thread t - 成员具有大多数书籍所称的默认可见性或包 - 私有可见性(这意味着包级和类级别的可见性) ,因为该字段没有可见性修饰符。 Java有4种不同的可见性:public,default,protected,private。有关详细信息,请参阅此处:Controlling Access to Members of a Class