首页 > 代码库 > JAVA学习--匿名类的使用

JAVA学习--匿名类的使用

 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 //            @Override38 //            public void getName() {39 //                System.out.println("数码相机");40 //            }41 //42 //            @Override43 //            public void getPrice() {44 //                System.out.println("4000");45 //            }46 //            47 //        }48 //        return new Camera();49         //方式二:实现Product接口的匿名局部内部类50         return new Product(){51             @Override52             public void getName() {53                 System.out.println("电纸书");54             }55 56             @Override57             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学习--匿名类的使用