比如我写一个interface
public interface NetListener{
void action(int i);
}然后在一个类里使用这个接口
public class classA implements NetListener{ void action(int i){
System.out.println(i);
}}在我看来,这个action其实就是一个事件,满足一定条件时它就会发生。
那么,这个action我应该在哪来调用,传一个值给i呢?怎么调用呢?
public interface NetListener{
void action(int i);
}然后在一个类里使用这个接口
public class classA implements NetListener{ void action(int i){
System.out.println(i);
}}在我看来,这个action其实就是一个事件,满足一定条件时它就会发生。
那么,这个action我应该在哪来调用,传一个值给i呢?怎么调用呢?
netListener.action(i);
我的理解是:
1)声明对象
NetListener netListener =null ;//接口不能实例化
2) 实例化对象,就可用啦
netListener=new classA();
先实例化classA :
NetListener netListener = new classA();
接着使用自定义的实现接口NetListener的方法void action(int i):
netListener.action(i);
LuckyBall(沉思) 的例子是OK的,
我的理解是:
1)声明对象
NetListener netListener =null ;//接口不能实例化
2) 实例化对象,就可用啦
netListener=new classA();
//
谁说接口不可以实例化NetListenner 这个接口的引用实例化毫无意义,所以构造一个ClassA()的对象,在向上专型!这样就建立ClassA和NetListenner之间的通用口。
netListener.action(i);这个就是向上转型! 其实你想调用,直接new classA().action(i),就可以了!
接口是用来引用的(implements).
当引用了这个接口后的类就可以实例化了.hoho1979(气魄,格局) 说的没错...先实例化classA :
NetListener netListener = new classA();
接着使用自定义的实现接口NetListener的方法void action(int i):
netListener.action(i);
当大人物讲话( 事件发生了),它会对着麦克风(通知接收者)讲话 (讲话的内容就是事件信息),因为组织方已经把麦克风准备好了, 一些对准听众作放大音量作用,还可以有一个作 录音,
还可以有一个作现场同声传译.组织方就是你了,你负责写 “注册事件监听器”, 当事件发生时应该有个方法“轮询事件监听队列,逐个通知”。
NetListener netListener =new classA();是实作接口.
netListener.action(i);