package com.thread; public class Thread01 { public class Thread1 extends Thread{ private String name; public Thread1(String name){ this.name = name; } public void run() { for (int i = 0; i < 5; i++) { System.out.println(name+"运行:"+i); try { sleep((int) Math.random()*10); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } public static void main(String[] args){ Thread1 thread02 = new Thread1("A"); Thread1 thread02 = new Thread1("B"); } }
在写这段代码的时候,编译器在Thread1 thread02 = new Thread1("A");一直会报No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing的错误,我在网上查了资料发现:在Java中,类中的静态方法不能直接调用动态方法。只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法。
我们可以将将 public class Thread1 改为public static class Thread1
时间: 2024-10-05 02:37:08