package cn.itbaodian.testJavaBasic;
import org.junit.Test;
public class Demo4
{
/*
* 26.什么是内部类?Static Nested Class 和Inner Class的区别?
* 内部类就是一个类的内部定义的类.
* 内部类中不能定义静态成员(静态成员不是对象的特性)
*
* 内部类可以直接访问外部类中的成员变量,
* 内部类可以定义在外部类的方法外面,
* 也可以定义在外部类的方法体中.
*
*
*/
@Test
public void fun()
{
final int i=0;
Inner1 inner1 = new Inner1();
class Inner2
{
/*
* 在方法体内部定义的内部类前面
* 不能有访问类型的修饰符,
*
* 就好象方法中定义的局部变量一样,
* 但这种内部类的前面可以使用final或abstract
*
* 这种在方法体内部定义的内部类
* 对于其他类是不可见的,其他类无法引用这种内部类,
* 但是这种内部类创建的实例对象可以传递给其他类访问.
*
* 这种内部类必须是先定义,后使用.
*
* 内部类可以访问方法体中的局部变量,但是,该局部变量前必须加final修饰符.
*
*
*
*
*/
@Test
public void method(int i)
{
i=2;
System.out.println(i);
}
}
Inner2 inner2 = new Inner2();
}
public class Inner1{
//在方法体外面定义的外部类
/*访问类型可以是public、protecte、默认的、private等4种类型。
*
*在外面创建内部类的实例对象,
*
*一定要先创建外部类的实例对象,
*然后用这个外部类的实例对象去创建内部类的实例对象。
*/
Demo4.Inner1 inner1=new Demo4().new Inner1();
}
}
01-遇到的java.lang.StackOverflowError
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 在配置 Jenkins+Ant配置普通JavaWeb项目时,遇到 java.lang.IllegalArgumen...
- org.springframework.beans.factory.UnsatisfiedDependencyEx...
- 今天遇到的问题可以说是工作中遇到比较典型的java基础问题,将服务端返回的数据转换成##.##格式的形式显示。 咋...
- 今天在使用service的时候在onDestroy(); 里面进行unbindService(mServic...