再看java多线程的时候,看到ExecutorService,点了一下回车,一看是个接口直接就给我new出了,当时就懵逼,是那个老师告诉我接口不可以直接new的。下面是我的代码A,B都是接口,c是main方法
package Multi;
public interface A {
void execute(Runnable command);
}
package Multi;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
public interface B extends A{
void shutdown();
List<Runnable> shutdownNow();
boolean isShutdown();
boolean isTerminated();
boolean awaitTermination(long timeout, TimeUnit unit)
throws InterruptedException;
<T> Future<T> submit(Callable<T> task);
}
package Multi;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
public class C {
public static void main(String[] args) {
A a= new B() {
@Override
public void execute(Runnable command) {
// TODO Auto-generated method stub
}
@Override
public void shutdown() {
// TODO Auto-generated method stub
}
@Override
public List<Runnable> shutdownNow() {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean isShutdown() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isTerminated() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException {
// TODO Auto-generated method stub
return false;
}
@Override
public <T> Future<T> submit(Callable<T> task) {
// TODO Auto-generated method stub
return null;
}
};
}
}
感悟:学习不能强行记忆,实践才是硬道理