• 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 } 
  • 相关阅读:
    Jquery 实现banner图滚动效果
    常用正则表达式集锦
    获取客户端ip并用正则表达式验证
    锋利的jquery学习笔记
    ASP.NET 中DataGrid item 绑定方法
    SQL float 保留两位小数
    android 应用程序中执行Linux 命令
    UBUNTU 测试跑分
    The declared package..does not match the expected package..
    mybatis 配置文件 配置别名
  • 原文地址:https://www.cnblogs.com/zhangfan94/p/4263317.html
Copyright © 2020-2023  润新知