zoukankan      html  css  js  c++  java
  • 成员内部类 局部内部类 匿名内部类

    成员内部类:

    成员内部类是在一个类的内部再生成一个类,相当于成员方法一样,所以叫成员内部类

    成员内部类可以访问外部类中的成员,即使成员是privte,跟其它成员权限一样,但是在另一个包中的类想访问这个privte就是不行的,只能在一个包下才能访问

    如果在另个一个包中的一个类,想使用这个内部类,就先需要导入外部类,再导入内部类。之后先生成外部类对象,再在此基础上再生成内部类对象

    当外部类想访问静态内部类时,只需要导包导入静态内部类,然后直接正常new一个即可

    内部类能访问外部类其实是因为,在内部类中有个外部类的引用,这个引用默认是隐藏的。其格式为:外部类名字.this ,在this前加入外部类名字的原因是怕和内部类this冲突

    局部内部类:

    在一个方法里写一个类就叫做局部内部类,局部内部类作用域和方法一样,出了方法就使用不了了,生命周期也是随着方法而存在

    匿名内部类:

    匿名内部类没有名字和构造方法,不能显示继承类和实现接口。下面这个图类b要实现接口,但是AnInterface ait = new AnInterface()这个看起来似乎像一个接口想生成一个接口对象,不过其实不是这个意思,这个new的其实就是匿名内部类。不过用内部类就不用再特意写个类然后实现接口。new后面跟着的不是接口,而是一个没有名字的类,就是内部类,这个内部类实现了接口,最后的分号不能忘掉;匿名内部类在抽象类上也是同理

  • 相关阅读:
    实验二
    2
    DS博客作业08--课程总结
    DS博客作业07--查找
    DS博客作业06--图
    DS博客园作业05--树
    有向图强连通分量Tarjan算法
    nyoj 题目737 合并石子(一)
    nyoj 题目61 传纸条
    nyoj 题目49 开心的小明
  • 原文地址:https://www.cnblogs.com/yudongxuan/p/11552925.html
Copyright © 2011-2022 走看看