JAVA中的内部类整理

这两天学了内部类,给人的感觉就是简洁,用老师的话说就是很拽!特别是匿名内部类,甚至不用另外起名字,继承一下名字,定义类体,创建对象,重写方法,一气呵成,用起来非常方便,不过对于他们的认识还是比较感性,来几个例子理一下思路吧!

1  内部类,就是定义在一个类里面的类,可以被很好的封装起来,使外界无法轻易访问,并且内外类之间数据可以共享,内部类和它相应的外部类的关系,打个比方就像母亲和胎儿的关系!

2 匿名内部类,并非无名,直接创建一个类,只为了取得里面方法,写几个代码理一理

   1 不使用匿名内部类如何实现抽象类方法

   public  abstract    class Animal  {

        abstract void  eat();

   }

   class Dog extends Animal{

      public void eat(){

      System.out.println(“吃东西”);

      }

    public static void main (String[] args){

      Dog dog =new Dog();

      dog.eat();

    }

   }

   结果:吃东西

   2 看看使用匿名内部类以后如何实现抽象类方法

   

   public  abstract    class Animal  {

         abstract void  eat();

         public static void main(String[] args){

                  Animal animal=new Animal(){//直接用匿名内部类

                      public void eat(){

                      System.out.println("吃东西")

                      }

                  };

                   animal.eat();

          }

   } 

   运行结果:吃东西

   3 匿名内部类如何快速实现接口

  interface Animal{  

       void eat ();

  }

   public class Test {

        public static void main(String [] args){

            Animal animal=new Animal(){

                  public void eat(){

                      System.out.println("吃东西")

                  }

            };

            animal.eat();

        }

  }

  运行结果:吃东西

  总结:   从以上几个例子看出匿名内部类的简洁与方便,在使用中如果接口或抽象类中的方法只需要被使用一次,不妨考虑使用匿名内部类来实现重写,可以节省不少代码,很拽!

个人学习笔记心得,用于整理思路和交流,如有不当之处,还望指正!


   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值