• 内部类和静态内部类的区别


    前两天在《Thinking in Java》上看到关于这个,感觉总结的很好。

    如果不需要内部类对象与其外围类对象之间有联系,那么可以将内部类声明为static。这通常称为嵌套类。想要理解static应用于内部类时的含义,就必须记住,普通的内部类对象隐式地保存了一个引用,指向创建他的外围类对象。然而,当内部类是static时,就不是这样了。

    嵌套类意味着:

      1)要创建嵌套类的对象,并不需要其外围类的对象。

      2)不能从嵌套类的对象中访问非静态的外围类对象。

    嵌套类与普通的内部类还有一个区别,普通内部类的字段与方法,只能放在类的外部层次上,所以普通的内部类不能有static数据和static字段,也不能包含嵌套类。但是嵌套类可以包含所有这些东西。

    至于为什么使用内部类而不是直接创建一个新的外部类,可以从两个方面说明:

    1)某个类只和外部类有联系,不希望其他的类和该类关联,那么可以把该类设计为内部类

    2)同一个外部类含有多个内部类,而这些内部类可以各自继承不同的类,从而达到多继承的一种另类实现。

  • 相关阅读:
    easyui 例子2
    easyui 1
    SqlHelper.cs
    ajax 视频点赞功能
    路线
    .net面试题
    cookie 和session asp.net
    前端面试2
    前端面试1
    bootstrap 初始学习篇
  • 原文地址:https://www.cnblogs.com/woyujiezhen/p/16291686.html
Copyright © 2020-2023  润新知