• 内部类的使用


    package exer1;
    //面向对象成员内部类的使用
    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(){
                public void getName(){
                    System.out.println("联想笔记本");
                }
                public void getPrice(){
                    System.out.println("¥3000");
                }
            };
    
            //方式三:创建一个实现product接口的匿名类的匿名对象
            t.show(new Product(){
                public void getName(){
                    System.out.println("iPhone6s");
                }
                public void getPrice(){
                    System.out.println("¥5000");
                }
            });
            System.out.println();
            Product p1=t.getProduct();
            p1.getName();
            p1.getPrice();
        }
        //局部内部类的使用
        public Product getProduct(){
            //方式一:实现product接口的局部内部类
    //        class Camera implements Product{
    //            public void getName(){
    //                System.out.println("数码相机");
    //            }
    //            public void getPrice(){
    //                System.out.println("5000");
    //            }
    //        }
    //        return new Camera();//返回一个对象
            //方式二:实现product接口的匿名局部内部类
            return new Product(){
                public void getName(){
                    System.out.println("数机");
                }
                public void getPrice(){
                    System.out.println("6000");
                }
            };
        }
        public void show(Product p){
            p.getName();
            p.getPrice();
        }
    }
    interface Product{
        void getName();
        void getPrice();
    }
    class NoteBook implements Product{
        public void getName(){
            System.out.println("HP笔记本");
        }
        public void getPrice(){
            System.out.println("¥5000");
        }
    }
  • 相关阅读:
    poj 2406 Power Strings【最小循环节】
    hdoj 2087 剪花布条
    hdoj 1054 Strategic Game【匈牙利算法+最小顶点覆盖】
    hdoj 1151 Air Raid
    hdoj 2502 月之数
    hdoj 1862 EXCEL排序
    hdoj 1200 To and Fro
    hdoj 1150 Machine Schedule【匈牙利算法+最小顶点覆盖】
    hdoj 1068 Girls and Boys【匈牙利算法+最大独立集】
    uva1563
  • 原文地址:https://www.cnblogs.com/alhh/p/5440413.html
Copyright © 2020-2023  润新知