Throw是一个语句,用来做抛出例外的功能

当我们自己定义一个例外类的时候必须使其继承excepiton或者RuntimeException。

Throw是一个语句,用来做抛出例外的功能。

而throws是表示如果下级方法中如果有例外抛出,那么本方法不做处理,继续向上抛出。

Throws后跟的是例外类型。

断言是一种调试工具(assert)

其后跟的是布尔类型的表达式,如果表达式结果为真不影响程序运行。如果为假系统出现低级错误,在屏幕上出现assert信息。

Assert只是用于调试。在产品编译完成后上线assert代码就被删除了。

方法的覆盖中,如果子类的方法抛出的例外是父类方法抛出的例外的父类型,那么编译就会出错:子类无法覆盖父类。

结论:子类方法不可比父类方法抛出更多的例外。子类抛出的例外或者与父类抛出的例外一致,或者是父类抛出例外的子类型。或者子类型不抛出例外。

如果父类型无throws时,子类型也不允许出现throws。此时只能使用try catch。

 1 package TomTexts;
 2 
 3 public class TomTexts_01 {
 4     public static void main(String[] args)
 5     {
 6         String s1=new String( );
 7         char data[ ]={ 'a', 'b', 'c', 'd', 'e', 'f'};
 8         s1=s1.copyValueOf(data);
 9         System.out.println(" s1="+s1);
10         s1=s1.copyValueOf(data,2,3);
11         System.out.println(" s1="+s1);
12         s1.getChars(1,2, data,0);
13         System.out.println(" data="+new String(data));
14         data=s1. toCharArray( );
15         System.out.println(" data="+new String(data));
16         String s2=new String( );
17         String s3=new String( );
18         s2=s1.substring(0);
19         System.out.println(" s2="+s2);
20         s3= s1.substring(1,2);
21         System.out.println(" s3="+s3);
22     }
23 
24 }
原文地址:https://www.cnblogs.com/borter/p/9420222.html