首页 > 编程语言 > 详细

JAVA学习--匿名类的使用

时间:2015-01-31 00:06:48      阅读:434      评论:0      收藏:0      [点我收藏+]
 1 public class TestProduct {
 2     public static void main(String[] args) {
 3         TestProduct t = new TestProduct();
 4         //方式一:创建一个实现Product接口的类的对象,并将此对象传入方法中
 5         NoteBook n = new NoteBook();
 6         t.show(n);
 7         //方式二:创建一个实现Product接口的匿名类的对象
 8         Product p = new Product(){
 9             public void getName(){
10                 System.out.println("Galaxy Note3");
11             }
12             public void getPrice(){
13                 System.out.println("¥5288");
14             }
15         };
16         //方式三:创建一个实现Product接口的匿名类的匿名对象
17         t.show(new Product(){
18             public void getName(){
19                 System.out.println("Iphone5s");
20             }
21             public void getPrice(){
22                 System.out.println("¥5288");
23             }
24         });
25         System.out.println();
26         Product p1 = t.getProduct();
27         p1.getName();
28         p1.getPrice();
29         
30     }
31     
32     //局部内部类的使用
33     public Product getProduct(){
34 //        //方式一:实现Product接口的局部内部类
35 //        class Camera implements Product{
36 //
37 //            @Override
38 //            public void getName() {
39 //                System.out.println("数码相机");
40 //            }
41 //
42 //            @Override
43 //            public void getPrice() {
44 //                System.out.println("4000");
45 //            }
46 //            
47 //        }
48 //        return new Camera();
49         //方式二:实现Product接口的匿名局部内部类
50         return new Product(){
51             @Override
52             public void getName() {
53                 System.out.println("电纸书");
54             }
55 
56             @Override
57             public void getPrice() {
58                 System.out.println("1000");
59             }
60         };
61         
62     }
63     
64     public void show(Product p){
65         p.getName();
66         p.getPrice();
67     }
68 }
69 
70 interface Product{
71     void getName();
72     
73     void getPrice();
74 }
75 
76 class NoteBook implements Product{
77     public void getName(){
78         System.out.println("HP笔记本");
79     }
80     public void getPrice(){
81         System.out.println("¥5000");
82     }
83 } 

 

JAVA学习--匿名类的使用

原文:http://www.cnblogs.com/zhangfan94/p/4263317.html

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