- package InnerClass;
- /**
- * 匿名内部类
- * @author SiyyaWu
- */
- public class AnonymousInnerClass {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- }
- /**
- * 匿名内部类简化写法
- * @author SiyyaWu
- * @param x
- * @return
- */
- public Contents1 contents(final int x){
- return new Contents1(){
- public int value(){
- return super.value()*x;
- }
- @Override
- public void run() {
- // TODO Auto-generated method stub
- System.out.println("抽象方法");
- }
- };
- }
- /**
- * 匿名内部类完整写法
- * @author SiyyaWu
- */
- public class MyContents extends Contents1{
- private int x;
- public MyContents(int x){
- this.x=x;
- }
- public int value(){
- return super.value()*x;
- }
- @Override
- public void run() {
- // TODO Auto-generated method stub
- System.out.println("抽象方法");
- }
- }
- public Contents1 contentsAll(int x){
- return new MyContents(x);
- }
- /**
- * 匿名内部类正常写法
- * @author SiyyaWu
- */
- class Contents2Impl implements Contents2{
- @Override
- public int value() {
- // TODO Auto-generated method stub
- return 5;
- }
- }
- public Contents2 contents2All(){
- return new Contents2Impl();
- }
- /**
- * 匿名内部类的简化写法
- * @author SiyyaWu
- * @return
- */
- public Contents2 contents2(){
- return new Contents2() {
- @Override
- public int value() {
- // TODO Auto-generated method stub
- return 5;
- }
- };
- }
- }
- /**
- * 抽象类
- * @author SiyyaWu
- */
- abstract class Contents1{
- public int i=2;
- public int value(){
- return i;
- }
- public abstract void run();
- }
- /**
- * 接口
- * @author SiyyaWu
- */
- interface Contents2{
- public int value();
- }
匿名内部类
来源: http://www.bubuko.com/infodetail-3090789.html