InnerClass(1)

本文深入探讨了Java内部类的作用,包括多继承、增强代码隐私性、闭包与回调等特性,并通过示例代码展示如何创建、使用及衍生内部类,以提升代码的封装性和功能性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 介绍
    内部类的作用: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;}	}
 
 三 衍生
    作用域的内部类: 达到了内部类的隐蔽性,只有在作用域内能够访问
    待续......................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值