美文网首页
匿名内部类--java18(18/12/2015)

匿名内部类--java18(18/12/2015)

作者: Girl_endless | 来源:发表于2015-12-18 19:52 被阅读34次
package com.atguigu.exer;

public class TestProduct {

    public static void main(String[] args) {
        TestProduct t = new TestProduct();
        //方式一:创建一个实现product接口的类的对象,并将此对象传入方法中
        //尽量使用第一种,易懂
        NoteBook n = new NoteBook();
        t.show(n);
        
        //方式二:创建一个实现Product接口的匿名类的对象
        Product p = new Product() {
            
            @Override
            public void getPrice() {
                System.out.println("Glaxy Note3");
                
            }
            
            @Override
            public void getName() {
                System.out.println("5288");
                
            }
        };
        
        //方式三:创建一个实现Product接口的匿名类的匿名对象
        t.show(new Product() {
            
            @Override
            public void getPrice() {
                System.out.println("Iphone6s");
                
            }
            
            @Override
            public void getName() {
                System.out.println("5428");
                
            }
        });
        
        System.out.println();
        Product p1 = t.getProduct();
        p1.getName();
        p1.getName();
    }
    
    //局部内部类的使用
    public Product getProduct(){
//      //方式一:实现product接口的局部内部类
//      class Camera implements Product{
//
//          @Override
//          public void getName() {
//              System.out.println("数码相机");
//              
//          }
//
//          @Override
//          public void getPrice() {
//              System.out.println("4000");
//              
//          }
//                      
//      }
//      return new Camera();
//  }
        //方式二:实现Product接口的匿名局部内部类
        return new Product() {
            
            @Override
            public void getPrice() {
                System.out.println("电视机");
                
            }
            
            @Override
            public void getName() {
                System.out.println("3000");
                
            }
        };
    
    public void show(Product p){
        p.getName();
        p.getPrice();
        
    }
}

interface Product{
    public abstract void getName();
    void getPrice();//接口中略去
}


class NoteBook implements Product{

    @Override
    public void getName() {
        System.out.println("HP笔记本");
        
    }

    @Override
    public void getPrice() {
        System.out.println("5000");
        
    }
    
}

相关文章

  • 匿名内部类--java18(18/12/2015)

  • 内部类

    成员内部类 局部内部类(定义在方法内和定义在作用域内的类) 匿名内部类

  • Java匿名内部类

    导语 学完匿名内部类就懂的情书。 主要内容 接口与抽象类和匿名内部类的关系 具体内容 匿名内部类也就是没有名字的内...

  • java中的匿名内部类总结

    匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内...

  • Java 内部类

    内部类包括成员内部类、方法内部类、*静态内部类、匿名内部类*。 内部类的作用 由于内部类的实现和外部类没有关系,内...

  • macos12 java16升级java18

    1.打开终端,查看java版本 2.官网下载java18 macos版本 java18官方版本[https://w...

  • 技术问 - 匿名内部类

    匿名内部类 匿名内部类的格式 匿名内部类的本质是什么? 代码: 匿名内部类在开发中使用: 看结果写代码

  • Java 内部类、静态内部类、方法内部类(未完待续)

    内部类 什么是内部类?内部类其实就是在一个类中创建的类。内部类有四种: 成员内部类 静态内部类 局部内部类 匿名内...

  • Android菜鸟起飞|三种方法实现监听事件

    Android实现监听事件的三种方式(匿名内部内实现,外部类实现,接口实现)详解 1. 使用匿名内部类的方式实现监...

  • java 内部类

    一般有四种内部类的使用方式: 嵌套的内部类 方法内的内部类 静态内部类 匿名内部类 什么时候用内部类: 有时候明显...

网友评论

      本文标题:匿名内部类--java18(18/12/2015)

      本文链接:https://www.haomeiwen.com/subject/kqiphttx.html