• java 内部类(自己的一些理解)


    http://blog.sina.com.cn/s/blog_8dd685f5010124g5.html

    ————————————————————————————————————————————————————

    注意!~ 

    内部类相同于 外部类的一个属性  和 外部类的其他属性 是同级的 只不过访问的方式不同 (内部类私有的方法肯定也能被外部类访问)

    内部类可以访问外部类的任意变量和方法(除了静态内部类)。

    静态方法里面 只能访问 静态变量和静态方法 定义在自己方法里面的局部变量

    内部类中只有静态内部类才能定义 静态成员(静态变量和静态方法).

    成员内部类


    里面只能定义非静态的变量和方法(非静态的 也就是不带关键字static 的变量)

    有外部类的引用 外部类名.this 引用

    成员内部类里面不能定义静态内部类

    静态内部类


    里面定义 静态的变量和方法 非静态的变量和方法

    只能访问外部类静态的变量和方法

    没有外部类的引用


    匿名内部类


    经常用来 作为某个类的唯一子类或者 某个接口的唯一实现类(如果要继承的父类 只有有参的构建函数 那么就必须要用super关键字 调用它有参数的构建函数 要不报错)


    局部内部类

    在外部类方法体中定义的类叫局部内部类,局部内部类能只用 默认修饰符和 final修饰符修饰 abstract修饰符,访问方法的局部变量时,方法的局部变量带final 才能被访问。


    内部类总结:


    1.首先,把内部类作为外部类的一个特殊的成员来看待,因此它有类成员的封闭等级:private ,protected,默认(friendly),public
                                                          

    它有类成员的修饰符:   static,final,abstract

    2.非静态内部类nested inner class,内部类隐含有一个外部类的指针this,因此,它可以访问外部类的一切资源(当然包括private)
     
    外部类访问内部类的成员,先要取得内部类的对象,并且取决于内部类成员的封装等级。
     
    非静态内部类不能包含任何static成员.

    3.静态内部类:static inner class,不再包含外部类的this指针,并且在外部类装载时初始化.静态内部类能包含static或非static成员.
     
    静态内部类只能访问外部类static成员.
     
    外部类访问静态内部类的成员,循一般类法规。对于static成员,用类名.成员即可访问,对于非static成员,只能用对象.成员进行访问

    类成员有两种static , non-static,同样内部类也有这两种

    non-static 内部类的实例,必须在外部类的方法中创建或通过外部类的实例来创建(OuterClassInstanceName.new innerClassName(ConstructorParameter)),并且可直接访问外部类的信息,

    外部类对象可通过OuterClassName.this来引用

    static 内部类的实例, 直接创建即可,没有对外部类实例的引用。

    内部类不管static还是non-static都有对外部类的引用(不然的话 无法调用外部类的变量和方法)

    non-static 内部类不允许有static成员

    方法中的内部类只允许访问方法中的final局部变量和方法的final参数列表,外部类中的方法和变量也可以被访问。方法中的内部类不能在方法以外访问.

    匿名内部类如果继承自接口,必须实现指定接口的方法. 匿名内部类如果继承某类,调用的构建函数要根据情况用无参还是有参的构建函数。
    ——————————————————————————————————
    傲轩游戏网
  • 相关阅读:
    面试官:反射都不会,还敢说自己会Java?
    nginx 开启x-forward
    不写代码,从0到1教你制作炫酷可视化大屏
    5G 专网部署方案
    Mac运行pygame一直显示空白屏幕
    数据库大咖解读“新基建”,墨天轮四重好礼相送!
    Oracle 20c 新特性:自动的区域图
    4000多人全靠报表自动化,效率提高60%,这套数据平台方法论真强
    EBS开发性能优化之查找需要优化的程序
    EBS开发性能优化之SQL语句优化
  • 原文地址:https://www.cnblogs.com/cuizhf/p/3058561.html
Copyright © 2020-2023  润新知