二、throws IOException
为什么很多方法都需要throws IOException 一下?-CSDN论坛 https://bbs.csdn.net/topics/30221854 违例”(Exception)这个词表达的是一种“例外”情况,亦即正常情况之外的一种“异常”。在问题发生 的时候,我们可能不知具体该如何解决,但肯定知道已不能不顾一切地继续下去。此时,必须坚决地停下 来,并由某人、某地指出发生了什么事情,以及该采取何种对策。但为了真正解决问题,当地可能并没有足 够多的信息。因此,我们需要将其移交给更级的负责人,令其作出正确的决定(类似一个命令链)。 违例机制的另一项好处就是能够简化错误控制代码。我们再也不用检查一个特定的错误,然后在程序的多处 地方对其进行控制。此外,也不需要在方法调用的时候检查错误(因为保证有人能捕获这里的错误)。我们 只需要在一个地方处理问题:“违例控制模块”或者“违例控制器”。这样可有效减少代码量,并将那些用 于描述具体操作的代码与专门纠正错误的代码分隔开。一般情况下,用于读取、写入以及调试的代码会变得更富有条理。java编程的方便必然造成了代码的正确性与逻辑性的不足
对此java对一些常见的代码在运行时出现的错误进行了归类 把它们弄成各种异常(Exception)。 当程序出现这样的异常,程序员可以根据相应的异常来判断程序中苦恼出错的地方 以便改正。三、eclipse重命名 F2 ;右键找Rename
20181023 四、Java @Override的作用 Java SE5新增加@Override注解,它并不是关键字,但是可以把它当作关键字使用。当你想要覆写(重写)某个方法时,可以选择添加这个注解,在你不留心重载而并非覆写了该方法时,编译器就会生成一条错误信息。重载:重载的时候,方法名要一样,但是参数类型或个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。
覆写(重写):若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。
举例(引自海涛zht666):在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性。 @Override public void onCreate(Bundle savedInstanceState)
{…….}
这种写法是正确的,如果你写成:@Override
public void oncreate(Bundle savedInstanceState) {…….} 编译器会报如下错误:The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method,以确保你正确重写onCreate方法(因为oncreate应该为onCreate)。而如果你不加@Override,则编译器将不会检测出错误,而是会认为你为子类定义了一个新方法:oncreate --------------------- 作者:孤风丶 来源:CSDN 原文:https://blog.csdn.net/L670697197/article/details/78685037 版权声明:本文为博主原创文章,转载请附上博文链接!20181024 五、final关键字 浅析Java中的final关键字 - 海 子 - 博客园 https://www.cnblogs.com/dolphin0520/p/3736238.html在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。
1.修饰类 当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。在使用final修饰类的时候,要注意谨慎选择,除非这个类真的在以后不会用来继承或者出于安全的考虑,尽量不要将类设计为final类。 2.修饰方法 下面这段话摘自《Java编程思想》第四版第143页: “使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中,会将final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升。在最近的Java版本中,不需要使用final方法进行这些优化了。“ 因此,如果只有在想明确禁止 该方法在子类中被覆盖的情况下才将方法设置为final的。 注:类的private方法会隐式地被指定为final方法。 3.修饰成员变量20181026
六、内部类,写在其他类内部的内 成员内部类、 将内部类作为一个成员 局部内部类、 将内部类作为其他类的方法的局部内部类 匿名内部类 创建某个类型子类对象的快捷方式 格式: new 父类或接口(){ //进行方法重写 };