zoukankan      html  css  js  c++  java
  • 8.内部类

    内部类可以直接访问外部类的成员,包括私有成员,但外部类如果要访问内部类,则需要创建内部类的对象,

    1.成员内部类

     成员内部类常见修饰符

                1.private  成员内部类一般不想让外界直接访问,使用private 修饰符、

                2.static    静态内部类方便外界直接调用,当用static修饰后,内部类里的方法可以是静态或非静态的,但方法内访问外部类成员时,外部类成员必须是静态成员

       外界访问成员内部类的方式

               1非静态                外部类.内部类    变量名 =new 外部类().new 内部类();

               2静态static            外部类.内部类    变量名 =new 外部类.内部类();

    2.局部内部类

             1.可以直接访问外部类成员

         2.在局部位置可以创建内部类对象,通过对象调用内部类方法

    class Outer {
        private int num  = 10;
        
        public void method() {
            //int num2 = 20;
            //final int num2 = 20;
            class Inner {
                public void show() {
                    System.out.println(num);
                    //从内部类中访问本地变量num2; 需要被声明为最终类型
                    System.out.println(num2);//20
                }
            }
            
            //System.out.println(num2);
            
            Inner i = new Inner();
            i.show();
        }
    }
    
    class InnerClassDemo5 {
        public static void main(String[] args) {
            Outer o = new Outer();
            o.method();
        }
    }

        局部内部类访问局部变量的时候,局部变量必须使用final修饰

    3.匿名内部类

             当抽象类或接口作为形式参数时,如果该方法只调用一次,我们可以用匿名内部类简化写法

                 new 类名或接口名(){

                      重写方法

                  }

              这种写法相等于一个重写了抽象类或接口作为父类的方法的子类

  • 相关阅读:
    jqGrid jqGrid 参数
    jqgrid问题总结
    quartz的配置表达式
    Struts2接收参数的几种方式
    Perl爬虫代码
    PHP官方的PECL扩展有问题
    Perl单URL爬虫
    Perl 多进程进度条
    Perl Tk摸索
    hdu 2058 数学题
  • 原文地址:https://www.cnblogs.com/bushi/p/6524034.html
Copyright © 2011-2022 走看看