JAVA编程思想有感

一.内部类

1.作用

  •     可以隐藏你不想让别人知道的操作,也即封装性
  •     一个内部类对象可以访问创建它的外部类对象的内容,甚至包括私有变量
  •      真正的原因是这样的,java中的内部类和接口加在一起,可以解决常被C++程序员抱怨java中存在的一个问题:没有多继承。实际上,C++的多继承设计起来很复杂,而java通过内部类加上接口,可以很好的实现多继承的效果。

2.各种实现方式区别:

    2.1相同点:

  • 把内部类作为外部类的一个特殊的成员来看待,因此它有类成员的封闭等级:private ,protected,默认(protect),public
  • 它有类成员的修饰符:   static,final,abstract

   2.2区别:

  • 非静态内部类nested inner class,内部类隐含有一个外部类的指针this,因此,它可以访问外部类的一切资源(当然包括private)
  •   外部类访问内部类的成员,先要取得内部类的对象,并且取决于内部类成员的封装等级。
  •   非静态内部类不能包含任何static成员.
  •   静态内部类:static inner class,不再包含外部类的this指针,并且在外部类装载时初始化.
  •   静态内部类能包含static或非static成员.
  •   静态内部类只能访问外部类static成员.
  •   外部类访问静态内部类的成员,循一般类法规。对于static成员,用类名.成员即可访问,对于非static成员,只能用对象.成员进行访问 
  • 对于方法中的内部类或块中内部类只能访问块中或方法中的final变量。

 

 二.容器

 

你可能感兴趣的:(实用文档)