java学习笔记(六)之匿名内部类

匿名内部类:

就是内部类的简化写法

前提:内部类可以继承或实现一个外部类或者接口

格式为:new 外部类名或者接口名(){覆盖类或者接口中的代码,
(也可以自定义内容。)}

例如:

class NoNameDemo 
{
	public static void main(String[] args) 
	{
		Do d = new Do();
		//d.print(new B());
		d.print(new A(){public void test(){
		System.out.println("haha");
	}});
	}
}
interface A
{
	void test();
}
/*
class B implements A
{
	public void test(){
		System.out.println("hahah");
	}
}
*/
class Do
{
	public void print(A a){
		a.test();
	}

}
接口里边可以定义内部接口和抽象类
抽象类里也可以定义接口和抽象类

例如:

abstract class A{
	public abstract void printA();
interface B{
	public void printB();
}
}

intreface A{
 	public abstract void printA();
	abstract class B{
		public abstract void printB();
}
}

异常

异常的体系

Throwable
• Error

通常出现重大问题如:运行的类不存在或者内存溢出等。

不编写针对代码对其处理

Exception
• 在运行时运行出现的一起情况,可以通过try catch finally

Exception和Error的子类名都是以父类名作为后缀。


throws和throw:
throws用于标识函数暴露出的异常。
throw用于抛出异常对象。
throws与throw的区别:
• thorws用在函数上,后面跟异常类名。
• throw用在函数内,后面跟异常对象。

try{
	需要检测的代码;
}catch{
	异常处理代码;
}finany{
	一定会执行的代码;
}

1.RuntimeException以及其子类如果在函数中被throw抛出,可以不用在函数上声明。
2.一个方法被覆盖时,覆盖它的方法必须抛出相同的异常或异常的子类。
3.如果父类抛出多个异常,那么覆写(覆盖)方法必须抛出那些异常的一个子集,不能抛出新的异常
















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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值