黑马程序员技术交流社区
标题:
今天弄了一天异常和内部类的东东,还好头脑渐渐有序了
[打印本页]
作者:
黑马黄文龙
时间:
2012-12-5 21:08
标题:
今天弄了一天异常和内部类的东东,还好头脑渐渐有序了
本帖最后由 saistart 于 2012-12-5 21:09 编辑
/*
需求:需要练习异常,让异常出现ArithmeticException,NullPointerException
分析:因为针对ArithmeticException,NullPointerException,都属于RuntimeException类型的,
我们可以声明,制作处理下就行
1,针对ArithmeticException,我们可以练习一个除法,让除数等于0;
2,NullPointerException,我们可以给一个数组先定义一些元素,然后再给赋值为NULL
3,再练习下getmessage(),toString()的用法
*/
public class MyExceptionTest
{
public static void main(String []args)throws FuShuException
{
int [] arr=new int[]{1,3,4};
MyException myex=new MyException();
//捕获ArithmeticException
try
{
myex.fun1(10,0);
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
//捕获NullPointerException
try
{
arr=null;
myex.printArray(arr);
}
catch (Exception e)
{
System.out.println(e.toString());
}
}
}
class MyException
{
//让除数等于零,来抛出ArithmeticException异常给调用者
public int fun1(int a,int b)
{
return a/b;
}
//打印数组,如果数组被赋值为NULL的话,就会报NullPointerException
public void printArray(int []arr)
{
for (int i=0;i<arr.length ;i++ )
{
System.out.println("arr["+i+"]="+arr[i]);
}
}
}
复制代码
/*
需求:创建一个内部类,来调用外部类的属性和方法
分析:
1,我们在外部类中创建一个内部类,此内部类中去调用外部的
属性和方法
2,这里有几个注意事项:不能再静态方法中去创建非静态的内部类对象
3,这时我们如果在外部想用内部类对象时,只能在实例方法中创建内部类对象
然后再在main方法中调用自己的实例方法
*/
//创建一个外部类
class Outer
{
//定义两个私有的属性,来验证内部类可以直接调用外部类私有的属性
private int a=1;
private int b=2;
public static void main(String []args)
{
Outer ou=new Outer();
ou.fun1();
}
//定义一个外部类的实例方法,在此方法中来创建内部类对象(注意:此时尽管内部类为private的,我们也可以创建对象)
public void fun1()
{
Inner in=new Inner();
in.fun3();
}
int fun2()
{
return a+b;
}
//声明一个私有的内部类,然后去调用外部类私有的属性
private class Inner
{
void fun3()
{
// 去调用外部类私有的属性
System.out.println(a*b+" "+fun2()) ;
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2