JAVA面向对象-多态-异常

多态的概念

多态是同一个行为具有多个不同表现形式或形态的能力。
多态就是同一个接口,使用不同的实例而执行不同操作
多态也就是同一个事件发生在不同的对象上产生不同的结果

 

多态的优点 

一、消除类型之间的耦合关系 

简单来说,就是子类(或实现类)只管调用父类(或接口)里面的方法,至于如何修改实现,只需考虑本身就好 

二、可替换性 

多态对已存在代码具有可替换性 

三、可扩充性 

多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作 

四、接口性 

多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的 

五、 灵活性 

它在应用中体现了灵活多样的操作,提高了使用效率 

六、简化性 

多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要 

多态存在的三个必要条件 

1.继承

2.重写

3.父类引用指向子类对象 

向上转型(隐式/自动类型转换)式/自动类型转换)

向上转型:父类的引用指向子类对象,自动进行类型补全
是小类型到大类型的转换

语法 

此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法
此时通过父类引用变量无法调用子类特有的方法

 

向下转型(强制类型转换) 

向下转型:将一个指向子类对象的父类引用赋给一个子类的引用
即:父类类型转换为子类类型。需强制类型转换,是大类型到小类型的转换      (存在风险,溢出)

语法 

在向下转型的过程中,如果没有转换为真实子类类型,会出现类型转换异常 

instanceof运算符 

作用 

Javainstanceof运算符是用来对类型做判断的。 

注意 

使用instanceof时,对象的类型必须和instanceof后面的参数所指定的类在继承上有上下级关系 

多态的三种实现方式 

 

                                                              异常

异常的概念 

异常是 阻止当前方法或作用域继续执行的问题。
从本质上来讲 J ava异常是一个 J ava对象(继承Object),和一般的 J ava对象一样,封装了一些成员变量和操作,我们可以向操作一般 J ava对象那样去操作 J ava异常对象
从代表的含义上来说: J ava异常是一种错误情况,是程序不希望出现的现象,但是由于程序本身的设计逻辑和运行的环境等因素,出现异常的情况不可避免, J ava虚拟机针对不同的异常情况定义了很多异常类,当jvm运行程序发现对应的异常时,将会向外面抛出异常

要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常 

 

常见的内置异常类 

 

捕获异常 

使用 try 和 catch 关键字可以捕获异常 try/catch 代码块放在异常可能发生的地方
try/catch代码块中的代码称为 保护代码
Catch 语句包含要捕获异常类型的声明。当保护代码块中发生一个异常时,try 后面的 catch 块就会被检查。
如果发生的异常包含在 catch 块中,异常会被传递到该 catch 块,这和传递一个参数到方法是一样。

 

多重捕获块 

一个 try 代码块后面跟随多个 catch 代码块的情况就叫多重捕获 

可以在 try 语句后面添加任意数量的 catch 块。
如果保护代码中发生异常,异常被抛给第一个 catch 块。
如果抛出异常的数据类型与 ExceptionType1 匹配,它在这里就会被捕获。
如果不匹配,它会被传递给第二个 catch 块。

如此,直到异常被捕获或者通过所有的 catch 块 

finally关键字 

 

抛出异常 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值