Java面向对象(接口和多态)

一:接口:

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

关键字:
定义接口:interface
实现接口:implements

接口中定义抽象方法的时候可以省略: public abstract


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


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

四: 必备的条件:
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();
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值