从头认识java-8.1 内部类

这一章节我们来讨论一下内部类。

1.概念

在类的内部创建的类就是内部类。

package com.ray.ch08;

public class Test {

	class Destination {
	}

	class Content {
	}

}

上面的Destination和Content就是内部类。


2.为什么需要内部类?

(1)隐藏代码

package com.ray.ch08;

import com.ray.ch08.Test.Destination;

public class Test {

	class Destination {
	}

	private class Content {
	}

}

class Ship {
	// Content content = new Test().new Content();//error
}

我们可以使用private来隐藏某些实现类。

当我们需要调用某个类的内部类时,必须先new 外部类,就像下面的Destination类一样。

package com.ray.ch08;

import com.ray.ch08.Test.Destination;

public class Test {

	class Destination {
	}

	private class Content {
	}

}

class Ship {
	Destination destination = new Test().new Destination();
	// Content content = new Test().new Content();//error
}


(2)通过与外部类的通信

package com.ray.ch08;

public class Test {
	private int id = 0;

	class Destination {
		private void print() {
			System.out.println(id);// 这里的id是int com.ray.ch08.Test.id
		}
	}

	private class Content {
	}

}

上面的代码演示了内部类可以改变外部类的属性域,这里可以衍生很多变化,在后面会详细展开。


(3)代码更加优雅

这一点就不用代码演示,因为根据不同的需求要求各不相同。


总结:这一章节主要讲述了内部类的概念与使用的原因。


这一章节就到这里,谢谢。

-----------------------------------

目录


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值