`
darrendu
  • 浏览: 194382 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

06优先考虑静态成员类

阅读更多

1.嵌套类有四种:静态成员类、非静态成员类、匿名类和内部类

 

2.静态成员类可以访问外围类的所有成员,包括那些声明为私有的成员。静态成员类是外围类的一个静态成员,与其他静态成员一样,遵守同样的可访问性规则

 

3.非静态成员类的每个实例都隐含着与外围类的一个外围实例相关联。在没有外围实例的情况下,要想创建非静态成员类的实例是不可能的。

 

4.当非静态成员类的实例被创建的时候,它和外围实例之间的关联关系也随之被建立起来,而且,这种关系以后不能被修改。这种关联关系需要消耗非静态成员类实例的空间,并且增加了构造的时间开销。

 

5.如果声明成员类不要求访问外围实例,就要始终把static修饰符放在它的声明中,使他成为静态成员类,而不是非静态成员类。如省略了static,则每个实例都将包含一个额外外围对象的引用。保存这个引用要消耗时间和空间,并且会导致外围实例在符合垃圾回收时却仍然得以保留。

 

6.匿名类必须保持简短,大约10行或更短

分享到:
评论

相关推荐

    突破程序员基本功的16课.part2

    7.6.2 非静态内部类不能拥有静态成员 7.6.3 非静态内部类的子类 7.7 static关键字 7.7.1 静态方法属于类 7.7.2 静态内部类的限制 7.8 native方法的陷阱 7.9 小结 第8课 异常捕捉的陷阱 8.1 正确关闭资源的...

    编译原理(第2版)课件

    14.2.2 面向对象语言的有效类、延迟类及延迟成员 14.2.3 面向对象语言的类属类 14.2.4 面向对象语言的继承类 14.3 多态实例变量、多态引用的类型检查及绑定 14.3.1 实例变量和多态引用 14.3.2 静态类型检查及动态...

    C#与.NET技术平台实战演练.part2

    4-3 数据封装的目的8-5 使用静态成员8-5-1 声明及初始化静态数据8-5-2 使用静态方法8-5-3 静态成员使用准则8-6 C#与面向对象8-6-1 再探HelloWorld8-6-2以static定义Main8-7定义类与建立实体this操作数8-8...

    C#与.NET技术平台实战演练.part1

    4-3 数据封装的目的8-5 使用静态成员8-5-1 声明及初始化静态数据8-5-2 使用静态方法8-5-3 静态成员使用准则8-6 C#与面向对象8-6-1 再探HelloWorld8-6-2以static定义Main8-7定义类与建立实体this操作数8-8...

    数据结构(C++)有关练习题

    2、 为该类分别设计一个实现深度优先搜索和广度优先搜索的成员函数,并要输出搜索结果; 注: 1、为了让你设计的图类拥有数据,可以设计一个成员函数,用于构造你自己预先设计好的图; 2、要求的图如下,...

    微软活动目录管理管理简明手册

    LDAP命名的路径是用来访问活动目录对象的,它包括了下面的两类:% T* B4 E: k( {8 ^ 9 U& n1 d0 J; Q: q, w1 O. t+ k1 z (1)标识名(Distinguished Name): ; n! e# H# Q; X' J 7 k& D: |( n5 V! b+ v+ T d/ R在活动...

Global site tag (gtag.js) - Google Analytics