Java内部类

内部类

内部类的介绍:

大致意思就是说:
当我们在一个类(A)的内部定义一个简单的变量(B)不足以描述该变量的详细 情况时,我们可以将其(B)定义为一个类,以便于更加详细地描述该事物(B)。

内部类的分类

内部类
成员内部类
静态
非静态
局部内部类
代码块内
方法内
构造器内

例子:

class Person{
//-------------------局部内部类-----------------------
	//局部内部类1
	{
		class Brain1
		{
			// to do
		}
	}
	public void method()
	{
	//局部内部类2
		class Brain2
		{
			// to do
		}
	}
	public Person()
	{
		class Brain3
		{
			// to do
		}
	}
	//--------------------------------------------------
	
	//--------------------成员内部类---------------------
	//静态
	static class C1{}
	//非静态
	class C2{}

	//关于成员内部类所要注意的点
	1. 作为外部类的成员来说
	   		> 可以调用外部类的结构
	   		> 可以被static修饰(因为其本身是一个外部类的成员。但外部类不可被static修饰)
	   		> 可以被4种权限符所修饰
	2. 其本身作为一个类来说
	    	> 它可以定义自己的属性、方法、构造器
	    	> 可以被final修饰,表示不可被继承。言外之意,不被final修饰的话是可以被继承的
	    	> 可以被abstract修饰
}
//------------------------------------------------------
成员内部类的实例化
  1. 静态
    Person.C1 pc1 = new Person.C1();
    
  2. 非静态
    Person p = new Person();
    Person.C2 pc2 = p.new C2();
    
局部内部类的使用
只说较为常用的(依然很少用,只是相较于所有局部内部类中而言)
Comparable接口举例,以下方法是返回一个实现了Comparable接口的实例
方式一:
public Comparable getComparable()
{
	class MyComparable implements Comparable
	{
		@Override
		public int compareTo()
		{
			// to do
			return 0;
		}
	}
	return new MyComparable();
}
方式二:
public Comparable getComparable()
{
	return new MyComparable
	{
		@Override
		public int compareTo()
		{
			// to do
			return 0;	
		}
	}
}

END

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值