JAVA高级特性--内部类

Posted 言西早石头侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA高级特性--内部类相关的知识,希望对你有一定的参考价值。

内部类概念

public  class Outer{

     class  inner{

     }

}

 特点

    可以很好的实现隐藏,可以使用procted,private

      可以直接访问外部类的所有成员 ,包括私有成员.

    外部内不能访问内部类的成员,必须首先建立内部类的 对象才可访问

成员内部内及应用

//外部内不能访问内部内属性和方法,必须创建对象

//内部类中不能有静态方法和属性
//内部类可以访问Outer.this.name外部内属性
//静态常量在内部类中是可以的

package com.tanlei.newer;

public class MemberInner {
	public static void main(String[] args) {
         //创建外部内对象
		Outer outer=new Outer();
		outer.show();
		//创建内部类对象
		Outer.Inner inner=outer.new Inner();
		inner.show();
	}

}

class Outer {
	private String name = "tanle";
	private int num = 10;

	public void show() {
		System.out.println(name + num);
		//外部内不能访问内部内属性和方法,必须创建对象
		Inner inner1 =new Inner();
		inner1.show();
	}
	

	public class Inner {
		private String name = "lisi";
		private int num = 20;

		public void show() {
			//内部类中不能有静态方法和属性
			//内部类可以访问Outer.this.name外部内属性
			//静态常量在内部类中是可以的
			System.out.println(Outer.this.name +"    内部类"+ num);
		}
	}
}

   

 



以上是关于JAVA高级特性--内部类的主要内容,如果未能解决你的问题,请参考以下文章

高级类特性----内部类

类的高级特性

五. 面向对象高级特性2. 内部类的分类

技术篇7.0类的高级特性

《Java高级语法》第12节:Lambda表达式

七类的高级特性