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");
        }
    }
  • 相关阅读:
    Understand 学习
    2021年1月
    查看所有请求
    DB2日期和时间函数汇总
    .getClass和.class
    继承和实现接口的区别
    java8 stream
    Lambda表达式详解
    SQL语句小知识---XML文件中的 CDATA语法
    Java--mapper.xml中常用SQL标签
  • 原文地址:https://www.cnblogs.com/alhh/p/5440413.html
Copyright © 2011-2022 走看看