首页 > 其他 > 详细

内部类的使用

时间:2016-04-27 22:37:19      阅读:245      评论:0      收藏:0      [点我收藏+]
package exer1;
//面向对象成员内部类的使用
public class TestProduct {
    public static void main(String[] args) {
        TestProduct t=new TestProduct();
        //方式一:创建一个实现product接口的类的对象,并将此对象传入方法中
        NoteBook n=new NoteBook();
        t.show(n);
        //方式二:创建一个实现product接口的匿名类的对象,有对象名
        Product p=new Product(){
            public void getName(){
                System.out.println("联想笔记本");
            }
            public void getPrice(){
                System.out.println("¥3000");
            }
        };

        //方式三:创建一个实现product接口的匿名类的匿名对象
        t.show(new Product(){
            public void getName(){
                System.out.println("iPhone6s");
            }
            public void getPrice(){
                System.out.println("¥5000");
            }
        });
        System.out.println();
        Product p1=t.getProduct();
        p1.getName();
        p1.getPrice();
    }
    //局部内部类的使用
    public Product getProduct(){
        //方式一:实现product接口的局部内部类
//        class Camera implements Product{
//            public void getName(){
//                System.out.println("数码相机");
//            }
//            public void getPrice(){
//                System.out.println("5000");
//            }
//        }
//        return new Camera();//返回一个对象
        //方式二:实现product接口的匿名局部内部类
        return new Product(){
            public void getName(){
                System.out.println("数机");
            }
            public void getPrice(){
                System.out.println("6000");
            }
        };
    }
    public void show(Product p){
        p.getName();
        p.getPrice();
    }
}
interface Product{
    void getName();
    void getPrice();
}
class NoteBook implements Product{
    public void getName(){
        System.out.println("HP笔记本");
    }
    public void getPrice(){
        System.out.println("¥5000");
    }
}

 

内部类的使用

原文:http://www.cnblogs.com/alhh/p/5440413.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!