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

    成员内部类:

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

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

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

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

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

    局部内部类:

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

    匿名内部类:

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

  • 相关阅读:
    stringstream用法
    来到上海了
    [转]强悍!情书居然能写得如此专业
    asp.net控件开发基础(23)
    当你遇到internal的时候
    asp.net控件设计时支持(3)
    asp.net控件设计时支持(5)
    CS中的缓存类,保证都看的懂
    快要毕业了
    asp.net控件设计时支持(4)
  • 原文地址:https://www.cnblogs.com/yudongxuan/p/11552925.html
Copyright © 2011-2022 走看看