关于自定义异常的抛出:
首先自定义的异常类中必须要有构造方法;然后在需要抛出的地方,用throw new MyException() 的方式在需要的位置抛出异常,然后在主函数中当调用这个异常类时进行捕获操作。(注意这里在抛出位置抛出对象时用的是 new MyExcepton())
在抽象类中定义静态的方法:
静态方法可以通过类直接调用,不需要通过对象来调用,还有就是抽象类不能够new出对象,所以写程序时一定要记得,静态方法直接隶属于类,可通过类直接进行调用(用好了可以作为技巧),而普通的方法则是隶属于对象,必须先将类实例化,然后通过实例化的对象进行调用方法。(注:因为加了static关键字的变量或者方法是属于类的,在程序加载类的字节码的时候就加载到一个静态内存区域里面去了,而且一直在程序运行中存在,不会随着方法的调用结束而消失。所以是直接通过类名调用的 它属于类 不属于实例对象)。
为什么静态方法不能调用非静态的变量和方法?
静态方法在编译器在编译时会为其和其变量分配内存空间,如果引用了一个非静态的变量,那么在非静态变量作用结束后,这个变量就会消失,那么为它分配的那块内存就成了无用内存,但却无法回收,这样就造成了内存泄露,这样显然不合理。所以java中规定,静态方法不能直接调用非静态的方法或属性,但是非静态的方法确实可以调用静态的方法和属性。
Switch语句的注意事项:
1.default就是如果没有符合的case就执行它,default并不是必须的.
2.case后的语句可以不用大括号. case 后面必须是常量表达式constant expressions, 错误表示如: case x .
3.switch语句的判断条件可以接受int,byte,char,short, enum不能接受其他类型.
4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.