`
jiava9900
  • 浏览: 86778 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

InnerClass(1)

    博客分类:
  • java
阅读更多
    一 介绍
    内部类的作用:1、多继承.2、增强代码的隐私性,达到完整的封装性.3、闭包与回调.
    内部类的分类:1、从作用域的角度可以存在于类中,也可以存在于方法或作用域中.
                       -2、从命名方式有匿名内部类.
二 实例
    简单的内部类:
   
public class fristinnerclass {	//...................inner class begin;	//inner class a	class contents{		private int i = 11;		public int value(){return i;}	}	//inner class b	class destination{		private string label;		destination(string label){			this.label = label;		}		string readlabel(){return label;}	}	//...................inner class end;		//得到内部类的句柄	public destination to(string s){		return new destination(s);	}	public contents contents(){		return new contents();	}			//using inner classes looks just like	//using any other class , within fristinnerclass	public void ship(string dest){		contents c = new contents();		destination d = new destination(dest);		system.out.println(d.readlabel() + "\n" + c.value());	}	public static void main(string[] args) {		fristinnerclass p = new fristinnerclass();		p.ship("tasmania");		//注意声明内部类时的语法		fristinnerclass.destination d = p.to("tasmania");		fristinnerclass.contents c = p.contents();		system.out.println(d.readlabel());		system.out.println(c.value());	}}
     这是基本的内部类的获得方式,还可以通过.new从外部类获得内部类的应用
     如上代码可以通过以下方式获取
    
              fristinnerclass.destination d1 = 			p.new destination("tasmania");              fristinnerclass.contents c1 = p.new contents();
 通过.this的方式可以在内部类中得到当前外部类的引用
	class contents{		private int i = 11;		public int value(){return i;}		public fristinnerclass get(){return fristinnerclass.this;}	}
 
 三 衍生
    作用域的内部类: 达到了内部类的隐蔽性,只有在作用域内能够访问
    待续......................
 
0
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics