小菜鸟的第二篇博客

小菜鸟javaOOP新学的知识点总结

上次说到继承,继承有单根性和传递性,单根性意味着一个子类只能有一个父类,但是一个父类可以有多个子类,传递性的意思是子类有可以有孙子类,而且孙子类可以继承父类和子类的一些属性和方法,这周我学到了一个新的知识点,接口。
接口是java提供的一种类型,接口本身不能有实例方法和构造函数,接口必须依靠子类来实现方法,接口可以说是一种特殊的抽象类,他解决了继承的单根性。
接口的特点:a.	接口不可以实例化对象,但是可以进行向上转型
                     b.	接口当中所有的属性都是静态常量,在定义的时候必须赋值。
                     c.	接口中所有的方法都是抽象方法,可以不加abstract修饰。
                     d.	接口当中属性和方法的权限只有public,其他权限都不允许。
                     e.	类实现接口以后,必须强制重写接口当中所有的抽象方法,除非这个类是抽象类。
                     f.	一个类只能继承自一个父类,但是可以同时实现多个接口
                     g.	接口之间可以继承,并且是多继承。
                     h.	接口中不可以定义任何构造函数
关键字:Interface 接口的声明
              Implements:实现接口的关键字

一个子类可以继承父类,也可以链接接口,继承和接口各有特点,我总结了一下它们的异同点。
相同点:可以包含抽象方法
都不可以实例化
子类都必须重写继承的抽象类和接口的抽象方法,如果子类是抽象类,都可以不用重写继承的抽象类和接口的抽象方法
不同点:
1.子类只能继承一个抽象类 可以同时继承多个接口
2.抽象类里可以包含普通方法和抽象方法 普通属性和静态属性 接口里只能包含抽象方法和静态属性
3.抽象类允许使用各种权限 接口只能使用public
4.抽象类可以定义构造函数 而接口不允许定义构造函数
5.抽象类里面抽象方法必须用abstract修饰,而接口不用
在平时运行java代码经常会运行错误,这种情况称之为异常,代码一旦出错就会导致后面的代码执行不了,而异常处理机制可以避免一下必须执行的代码没有执行,也可以告诉我们哪个地方报错。
语法:
a. try{

                     }catch{
                     }
                      b.	try{
   
                     }catch{
  
                     }finally{
                     }
                    c.	try{
  
                     }finally{
                     }
                   ps:try不能独立存在

作用:发生异常时,会跳过异常代码,继续往下执行,不会中断
五大关键字:
a.try:存放可能发生异常的代码
b.catch:捕获异常,只有在发生异常的情况下才会运行
c:finally:无论如何都要执行的代码,除非java虚拟机推出
d:throws:声明异常
e:throw:手动抛出异常
常见的异常类型:
a. Exception:所有异常类型的父类 可以捕获所有异常
b. ArithmeticException:算术异常
c. ArrayIndexOutOfBoundsException:数组下标越界
d. NullPointerException:空指针异常 Pet pet=null;
e. ClassNotFoundException:加载异常 这个类找不到
f. IIIegalArgumentException:方法接受到非法参数
g. ClassCastException:类强制转换异常 企鹅-》狗
h. NumberFormatException:数据转换异常 String->int
异常处理机制的执行顺序:
1. try-catch-后续代码
a. 有异常 try–>catch–>后续代码
b. 无异常 try–>后续代
2. try-catch-finally-后续代码
a. 有异常 try–>catch–>finally–>后续代码
b. 无异常 try -->finally–>后续代码
异常中存在return时的执行顺序
1. try{return;}catch{}finally
2. try{ }catch{ return;}finally
ps:如果try或者catch中有return作为方法返回值,则方法的返回值会提前出结果,但是finally会继续执行
多重catch的注意事项
1. 捕获异常的顺序自上而下,某个异常执行完,其他异常会自动跳过
2. 异常类型的摆放顺序,必须是先子类后父类

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值