• 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 //            @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——base64 加密和解密
    BASE64Encoded() 方法报错说方法未定义
    java 实现HTTP连接(HTTPClient)
    如何关闭一些烦人的弹窗(总结)
    IDEA
    6、git和github
    5、预测和鉴定miRNA的靶基因
    4、在线blast比对结果解析(保守结构域)
    ASE分析
    3、Linux下配置Java环境
  • 原文地址:https://www.cnblogs.com/zhangfan94/p/4263317.html
Copyright © 2020-2023  润新知