初始java面对对象 接口/多态/异常

接口: 定义规范的,主要是由抽象方法构成的。
 (一个类实现了接口,就要按照规矩重写接口里的所有抽象方法)

 关键字:
 定义接口:interface
 实现接口:implements
 接口中定义抽象方法的时候可以省略: public abstract


 2 接口的特点:
 1 接口里面的方法都是抽象方法 public abstract
 2 接口里面的变量都是静态常量 public static final
 3 接口里面没有构造方法,所以也不存在实例化对象的概念。
 4 接口和接口可以多继承
 5 类和接口之间是实现关系,可以多实现。
 6 接口中的方法不能用static修饰

多态:
 同一个数据类型的对象,使用相同的方法,表现出不同的结果。(面向对象的三大特征之一)

必备的条件:
 1 继承或者实现
 2 方法重写
 3 父类的引用指向子类的对象


 使用场景:
 我们在定义方法的时候,方法的参数用父类类型,调用方法的时候传入子类类型,这样可以提供代码的扩展性。

 注意事项:
 满足多态的情况下,
 1 父类的引用不能调用子类特有的方法。
 2 如果父类有,子类没有,可以调用(继承)

 向上转型: 把小的概念往大了说 父类的引用指向子类的对象 狗是动物
 向下转型: 把大的概念往小了说 有可能发生错误 把这个动物变成狗
 向下转型可能发生错误: 需要用 instanceof 来判断是否是同一种类型

异常: 代码发生的错误(报错)
 1 错误: 没办法挽回,纠正。 栈溢出(递归的时候)
 2 异常: 发生错误以后可以捕获,并且处理。
 |- 运行时异常: 代码跑起来以后报的错
 1.NullPointerException(空指针异常)
 2.ArithmeticException(运算非法异常)
 3.IndexOutOfBoundsException(数组越界异常)
 4.ClassCastException(类转换异常)
 5.ArrayStoreException(数据存储异常,操作数组时类型不一致)
 6.BufferOverflowException(字节溢出异常—IO流操作)

 |- 编译时异常: 代码还没跑就报错了
 1.ClassNotFoundException(类找不到异常)
 2.FileNotFoundException(编译文件夹中找不到,就是发布到tomcat中的,不是工程中)
 3.SQLException :提供有关数据库访问错误或其他错误的信息的异常。( 比如SQL语句写错,访问的表不存在,连接数据库失败等等)
 4.IOexception:IO流异常。一般在读写数据的时候会出现这种问题。
 5.EOFException:当输入过程中意外到达文件或流的末尾时,抛出此异常。
 异常解决:
 1 throws 把错误给了别人,谁调用谁解决,如果一层一层往上推,最终给了jvm 不推荐用(做练习的时候用用就行了)
 2 try...catch...finally 自己的错误字节解决


 制造异常:
 throw new RuntimeException();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值