内部类

作者: guanyuespace | 来源:发表于2018-06-07 02:57 被阅读0次

非静态内部类不能含有静态变量或静态方法

非静态内部类依托于外部类对象而存在,即是内部类存在于外部类对象实例化之后!!!在外部类中

static{ ......
InnerClass.staticValue|staticMethod()
  ........}  error  ....  so
static inner classes come into existence only in the context of an instance of the outer class.
So ... if you're going to have a static method, the whole inner class has to be static. Without doing that, you couldn't guarantee that the inner class existed when you attempted to call the static method.
The question to ask is -- if you do have a static method inside an inner class, how would you call that static method? The answer is, you can't.

An inner class is tied to instances of the outer class.

From Effective Java -- "Each instance of a nonstatic [nested] class is implicitly associated with an enclosing instance of its containing class".

1、static类型的属性和方法,在类加载的时候就会存在于内存中。

2、要使用某个类的static属性或者方法,那么这个类必须要加载到jvm中。

3、非静态内部类并不随外部类一起加载,只有在实例化外部类之后才会加载。

摘自https://blog.csdn.net/liu_shi_jun/article/details/74932666


方法传递给匿名内部类或局部内部类的参数必须是final的(内部类中的参数是复制品,在其内改变不影响参数,为了迎合愚昧的。。。,强制内部类不允许修改)具体参考JAVA,匿名内部类,闭包

https://blog.csdn.net/z69183787/article/details/68490440

相关文章

  • 内部类

    成员内部类 局部内部类(定义在方法内和定义在作用域内的类) 匿名内部类

  • Java 内部类

    内部类包括成员内部类、方法内部类、*静态内部类、匿名内部类*。 内部类的作用 由于内部类的实现和外部类没有关系,内...

  • Java学习——内部类

    内部类 一,成员内部类(包括静态内部类和非静态内部类) 非静态内部类可以直接访问外部类的成员,反之则不行 非静态内...

  • Java 内部类、静态内部类、方法内部类(未完待续)

    内部类 什么是内部类?内部类其实就是在一个类中创建的类。内部类有四种: 成员内部类 静态内部类 局部内部类 匿名内...

  • java 内部类

    一般有四种内部类的使用方式: 嵌套的内部类 方法内的内部类 静态内部类 匿名内部类 什么时候用内部类: 有时候明显...

  • 内部类

    内部类 1.可以访问访问其外部类所有属性和方法,无需创建外部类对象 2.必须创建内部类对象,否则无法从外部类访问内...

  • Java 中的方法内部类

    Java 中的方法内部类 方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内...

  • java——内部类

    内部类 定义: 内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内...

  • java之面向对象5

    方法内部类: 简而言之就是定义在外部类的方法内的类。 方法内部类只在该方法的内部可见,即只在该方法内可以使用。 方...

  • Java 内部类

    1. 内部类 概念:在一个类的内部再定义一个完整的类内部类分为 4 类:成员内部类、静态内部类、局部内部类、匿名内...

网友评论

      本文标题:内部类

      本文链接:https://www.haomeiwen.com/subject/kmlwsftx.html