首页 > 代码库 > java匿名内部类
java匿名内部类
java匿名内部类一般是没有变量指向的对象,只能使用一次
如下代码,为了使用抽象类People的eat方法还要去继承然后复写eat方式,非常麻烦。对于接口也是如此。
package com.lubby.nosynchronizedtest; public abstract class People { public abstract void eat() ; }<pre name="code" class="java">package com.lubby.nosynchronizedtest; public class Teacher extends People { @Override public void eat() { System.out.println("老师正在吃饭"); } public static void main(String[] args) { People people = new Teacher(); people.eat(); } }
在看如下代码,是不是很简单。之间new一个
package com.lubby.nosynchronizedtest; public class Teacher { public static void main(String[] args) { new People() { @Override public void eat() { System.out.println("我正在吃饭"); } }.eat(); } }
仔细看看,发现是不是线程经常使用这种方法。线程的创建一般都是继承Threa抽象类或者Runable接口
package com.lubby.nosynchronizedtest; public class Teacher { public static void main(String[] args) { Thread thread1 = new Thread() { public void run() { System.out.println("线程1正在跑"); } }; thread1.start(); } }
package com.lubby.nosynchronizedtest; public class Teacher { public static void main(String[] args) { Runnable runable = new Runnable() { @Override public void run() { System.out.println("run......."); } }; Thread thread = new Thread(runable); thread.start(); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。