黑马程序员——内部类要点总结

本文详细介绍了Java中的内部类与匿名内部类的概念、使用场景及访问规则。内部类能够直接访问外部类的成员,包括私有成员;而匿名内部类则是对内部类的一种简化写法,适用于继承或实现接口的情况。

  ------- android培训java培训、期待与您交流! ----------

  • 内部类

 内部内的定义原则

        当描述事物时.如果事物内部还有事物,这时就需要定义内部类

         因为内部事物需要使用到外部事物中的内容 

 内部类的访问规则:

1.内部部类可以直接访问外部类中的成员,哪怕是私有的

      内部内之所以可以访问外部成员,是因为内部类持有对外部类的引用,只是用省月了外部类.this关键字

2.外部类如果要访问内部类中的成员,必须通过创建内部类的对象来访问 

一点总结:当内部类中的内容描述不需要让外部类访问到时,可将其定义为私有的,然后再给它提供一种外部访问方式即可 

 访问格式

  1.当内部类定义在外部类的成员位置上,而非私有化时,其他外部类可以直接建立该内部的对象

  格式:

    外部类.内部类  变量=外部类对象.内部类对象

 outer.inner n=new outer().new inner();

  2.当内部类在成员位置上,就可以被成员修饰符所修饰

     比如:private,将内部类在外部类中进行封装

     static,将内部类进行静态化后,该内部类只能访问所在外部类的静态成员,访问出现局部性

  3,在其他外部类访问内部类的非静态成员:new outer.inner().function();

            其他外部类访问内部类的静态成员: outer.inner.function();

 注意:如果内部类中定义了静态成员,则该内部类也必须得是静态的

 代码示例:

 

class waibu{
    private int x=9;
    class inner{
        public void show(){
            System.out.println(waibu.this.x);
        }
    }
    public void method(){
        inner i=new inner();
        i.show();
    }        
}
 

 

 

 

  • 匿名内部类

  1.匿名内部类其实就是对内部类的一种简写格式

  2.定义内部类的前提:

      内部类必须是继承或实现了一个接口

  3.匿名内部类的格式:new 父类或接口(){定义子类的内容}

  4.其实匿名内部类就是一个子类对象

  5.匿名内部类中定义的方法最好不要超过3个(主要是为了使用起来简单)

    class Outer{
      private final int x=12;
      new AbsDemo(){
             public void show(){
                System.out.println("show:"+x);
           }
       }
   }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值