首页 > 编程语言 > 详细

JavaSE-匿名类_匿名内部类的使用

时间:2016-01-24 15:28:33      阅读:671      评论:0      收藏:0      [点我收藏+]
package com.btp.t2;

public class TestProduct {

	public static void main(String[] args) {
		TestProduct t=new TestProduct();
		//方式一:创建一个实现Product接口的类的对象
		NoteBook n=new NoteBook();
		t.show(n);
		//方式二:有对象名
		Product p=new Product(){

			@Override
			public void getName() {
				// TODO 自动生成的方法存根
				System.out.println("Galaxy Note3");
			}

			@Override
			public void getPrice() {
				// TODO 自动生成的方法存根
				System.out.println("$8000");
			}
			
		};
		t.show(p);
		
		//方式三:创建一个实现Product接口的匿名类的对象
		t.show(new Product(){

			@Override
			public void getName() {
				// TODO 自动生成的方法存根
				System.out.println("Iphone8s");
			}

			@Override
			public void getPrice() {
				// TODO 自动生成的方法存根
				System.out.println("$10000");
			}
			
		});
		System.out.println();
		
		Product p1=t.getProduct();
		p1.getName();
		p1.getPrice();
		Product p2=t.getProduct1();
		p2.getName();
		p2.getPrice();
	}
	
	
	
	
	public void show(Product p){
		p.getName();
		p.getPrice();
	}
	
	//局部内部类的使用
	//方式一:实现Product接口的局部内部类
	public Product getProduct(){
		class Camera implements Product
		{

			@Override
			public void getName() {
				// TODO 自动生成的方法存根
				System.out.println("数码相机");
			}

			@Override
			public void getPrice() {
				// TODO 自动生成的方法存根
				System.out.println("4000");
			}
		}
		return new Camera();
	}
	
	//方式二:实现Product接口的匿名局部内部类
	public Product getProduct1(){
		return new Product(){

			@Override
			public void getName() {
				// TODO 自动生成的方法存根
				System.out.println("电子书");
			}

			@Override
			public void getPrice() {
				// TODO 自动生成的方法存根
				System.out.println("¥1000");
			}
			
		};
	}

}

interface Product{
	void getName();
	
	void getPrice();
}


class NoteBook implements Product{

	@Override
	public void getName() {
		// TODO 自动生成的方法存根
		System.out.println("HP笔记本");
	}

	@Override
	public void getPrice() {
		// TODO 自动生成的方法存根
		System.out.println("$5000");
	}
	
}

  

JavaSE-匿名类_匿名内部类的使用

原文:http://www.cnblogs.com/a842297171/p/5155099.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!