zoukankan      html  css  js  c++  java
  • 内部类的使用

    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");
        }
    }
  • 相关阅读:
    牛客-Python-字符流中第一个不重复的字符
    牛客网-python-表示数值的字符串
    牛客网-(标星)正则表达式的匹配
    牛客网-构建乘积数组
    牛客网-和为S的两个数字
    new code-和为S的连续正数序列
    newcode-平衡二叉树
    Reinforcement Learning学习笔记|Deep Q-learning算法
    Reinforcement Learning学习笔记|Q-learning算法
    C++|重拾|笔记20190307
  • 原文地址:https://www.cnblogs.com/alhh/p/5440413.html
Copyright © 2011-2022 走看看