zoukankan      html  css  js  c++  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 //            @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学习总结-基础语法
    git stash save -a 遇到的坑 , 弹出匿藏错误
    TP5模型belongsTo和hasOne这两个方法的区别
    phpstorm设置的快捷键突然失效了,提示: IdeaVim ...
    layui 时间选择器 不要秒的选项
    SQL 判断表是否存在 数据表不存在是致命错误
    layui 第三方组件 eleTree 树组件 树形选择器
    tp5 ThinkPHP5 自定义异常处理类
    TP5隐藏url中的index.php
    phpstorm断点调试 php.ini 文件中 Xdebug 配置
  • 原文地址:https://www.cnblogs.com/zhangfan94/p/4263317.html
Copyright © 2011-2022 走看看