java笔记-面向对象-内部类、异常捕捉

这篇博客探讨了Java中的内部类,包括匿名内部类,并深入讲解了异常处理机制。重点介绍了自定义异常类,如何创建自定义RuntimeException子类。同时,文章详细阐述了finally块的作用,指出它在数据库操作中的重要性,以及唯一不执行finally的情况——System.exit(0)。还总结了异常代码块的三种格式,并解析了异常在子父类覆盖中的规则。
摘要由CSDN通过智能技术生成


内部类:

/*
** 内部类:
** 建立在类中的类称为内部类;
** 内部类中的访问方式:
** 外部类若想访问内部类需简历内部类的对象方可访问;
** 内部类可以直接访问外部类中的成员和私有变量;
** 当内部类在外部类的成员位置时,可以被成员修饰符修饰;
** 如priva static。
** 当内部类用static修饰时:内部类可通过如下访问:
** new Outer.Inner().function();
** 如何直接访问static内部类中的静态成员;
** Outer.Inner.function();
** 注意:
** 非static内部类不能有静态成员(当内部类中定义了静态成员,内部类必为静态类)
** 当外部的静态方法访问内部类时,内部类也必须为静态方法;
** 什么时候使用内部类?
** 当描述事物时,事物的内部还有事物,该事物用内部类来描述;
** 内部事物在使用外部事物的内容;
*/
class Outer{
	int num=1;
	class Inner{
		int num=2;
		void function(){
			num=3;
			/*
			** 不同位置三种变量的访问方式;
			** 若没有局部成员和局部变量num,直接写num则表示外部成员;
			*/
			System.out.println("Inner::局部变量:"+num);
			System.out.println("Inner::局部成员:"+this.num);
			//当内部类用static修饰时,只能通过Out.this.num直接访问;
			System.out.println("Inner::外部成员:"+Outer.this.num);
		}
	}
	void method(){
		//内部类的访问方式;
		Inner in=new Inner();
		in.function();
	}
}
class InerClass{
	public static void main(String[] args){
		Outer ou=new Outer();
		ou.method();	
		System.out.println("内部类的直接访问方式:");
		Outer.Inner oi=new Outer().new Inner();
		oi.function();
	}
}

匿名内部类:

/*
** 匿名内部类:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值