• 【宋红康学习日记19】类的成员之五---内部类(inner class)


    1 内部类即在类中再定义类,分为外部类和内部类,内部类又分为成员内部类(外部内,方法外)和局部内部类(方法中的类)。

    2 成员内部类:可有修饰符(default,private,protected,public );

                        可用static final abstract修饰;

                       可调用外部类属性方法。

       (1)如何创建成员内部类对象

             1)创建静态内部类对象,可通过外部类直接调用静态内部类构造器

                 Person.Dog s=new Person.Dog();

            2)创建非静态内部类的对象,要先创建外部类对象,通过外部类对象调用内部类构造器;

                  Person p=new Person();

                 Person.Bird b=p.new Bird();

        3  局部内部类:

         方式一:

           (1)创建一个实现实现接口的类  class Camera implements Product{}

             (2)返回一个实现类对象: return new Camera();

                  

        //局部内部类的使用
        public Product getProduct(){
            //方式一:实现Product接口的类的对象,
            class Camera implements Product{
                @Override
                public void getName() {
                    // TODO Auto-generated method stub
                    System.out.println("数码相机");
                }
                @Override
                public void getPrice() {
                    // TODO Auto-generated method stub
                    System.out.println("¥6798");
                }            
            }
            return new Camera();

    方式二:
    直接返回重写:
    return new Product(){....重写....}




    接上
    //方式二:实现Product接口的匿名局部内部类
            return new Product(){
                @Override
                public void getName() {
                    // TODO Auto-generated method stub
                    System.out.println("电子书");
                }
                @Override
                public void getPrice() {
                    // TODO Auto-generated method stub
                    System.out.println("¥899");
                }
                
            };












  • 相关阅读:
    Web基础了解版09-Cookie-Session
    Mysql基础04-查询
    Web基础了解版08-JSTL-Core标签库
    Web基础了解版07-EL表达式-运算符-11个隐式对象
    Web基础了解版06-Jsp-指令、标签-九大隐式对象-四个域对象
    Java语法进阶15-反射及API
    Spark原理概述
    Apache Kafka系列(六)客制化Serializer和Deserializer
    Azkaban时区问题导致调度差1天
    impala jdbc驱动执行impala sql的一个坑(不支持多行sql)
  • 原文地址:https://www.cnblogs.com/noaman/p/4990044.html
Copyright © 2020-2023  润新知