每種語言都有自己回調的方法,java也不例外.
Java的回調是採用多態的方式來回調.比如:
interface MouseListener { //當click方法被調用的時候代表被滑鼠點擊了. void click(); }
上面是一個介面,裡面只有一個方法.先就通過一個例子展示java是如果施展多態的力量了.
public class Model { //初始化50個監聽器 private MouseListener[] listeners = new MouseListener[50]; //用於記錄當前listeners數組記錄到了哪裡 int index = 0; public void addListener(MouseListener listener) { //向這個model中註冊一個監聽器 listeners[index++] = listener; } public void clickModel() { //調用註冊進來所有的listener的click方法 for (int i = 0; i < index; i++) { listeners[i].click(); } } //測試model public static void main(String[] args) { Model model = new Model(); //添加一個匿名內部類,裡面實現了click方法. model.addListener(new MouseListener() { public void click() { System.out.println("我被點擊了"); } }); //再添加一個內部類. model.addListener(new MouseListener() { public void click() { System.out.println("我被點擊了"); } }); //下面給model一個點擊 model.clickModel(); } }
二、java.lang.OutOfMemoryError: Java heap space
在myeclipse下的解決方案:
Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的
Optional Java VM arguments中添加
-Xmx512M -Xms256M -XX:MaxPermSize=256m 即可