面向对象三大特征之:多态、内部类、常用API

面向对象三大特征之三:多态
多态的概述,多态的形式       
 

什么是多态?

同类型的对象,执行同一个行为,会表现出不同的行为特征。

多态的常见形式

 

多态中成员访问特点

方法调用:编译看左边,运行看右边。
变量调用:编译看左边,运行也看左边。( 多态侧重行为多态

多态的前提

有继承/实现关系;有父类引用指向子类对象;有方法重写。

面向对象三大特征之三:多态

多态的优势 

面向对象三大特征之三:多态 

 多态下引用数据类型的类型转换

 总结:

1. 引用数据类型的类型转换,有几种方式?
l 动类型转换、强制类型转换。
2. 强制类型转换能解决什么问题?强制类型转换需要注意什么。
可以转换成真正的子类类型,从而调用子类独有功能。
有继承关系 / 实现的 2 个类型就可以进行强制转换,编译无问题。
运行时,如果发现强制转换后的类型不是对象真实类型则报错。
类型转换异常: ClassCastException
内部类 
内部类概述

 

内部类的分类

静态内部类 [ 了解 ]
成员内部类(非静态内部类) [ 了解 ]
局部内部类 [ 了解 ]
匿名内部类(重点)

内部类  

内部类之一:静态内部类[了解] 

 

静态内部类的访问拓展: 

1、静态内部类中是否可以直接访问外部类的静态成员?

可以,外部类的静态成员只有一份可以被共享访问。

2、静态内部类中是否可以直接访问外部类的实例成员?

不可以的,外部类的实例成员必须用外部类对象访问。

总结:

1. 静态内部类的使用场景、特点、访问总结。
如果一个类中包含了一个完整的成分,如汽车类中的发动机类。
特点、使用与普通类是一样的,类有的成分它都有,只是位置在别人里面而已。
可以直接访问外部类的静态成员,不能直接访问外部类的实例成员。
注意:开发中实际上用的还是比较少。

 

内部类 

内部类之二:成员内部类[了解] 

 

成员内部类的访问拓展: 

1、成员内部类中是否可以直接访问外部类的静态成员?

可以,外部类的静态成员只有一份可以被共享访问。

2、成员内部类的实例方法中是否可以直接访问外部类的实例成员?

可以的,因为必须先有外部类对象,才能有成员内部类对象,所以可以直接访问外部类对象的实例成员。

 总结:

1. 成员内部类是什么样的、有什么特点?
static 修饰, 属于外部类的对象。
可以直接访问外部类的静态成员,实例方法中可以直接访问外部类的实例成员。
2. 成员内部类如何创建对象?
外部类名.内部类名 对象名 = new  外部类 构造器 . new 内部类构造器 () ;

内部类 

内部类之三:局部内部类 [ 了解 ]

局部内部类 (鸡肋语法,了解即可

局部内部类放在方法、代码块、构造器等执行体中。
局部内部类的类文件名为: 外部类$N内部类.class。

 内部类

内部类之四:匿名内部类概述[重点] 

 

总结:

 

内部类

匿名内部类常见使用形式 

 内部类

匿名内部类真实使用场景演示 

 

 常用API

Object

toString方法

 

 

 

总结:

1. Object toString 方法的作用是什么?
默认是打印当前对象的地址。
让子类重写,以便返回子类对象的内容。
常用 API
Object
toString方法
equals方法

 

        总结:

1. Object equals 方法的作用是什么?
默认是与另一个对象比较地址是否一样
让子类重写,以便比较 2 个子类对象的内容是否相同。

常用API 

Objects 

 

1. 对象进行内容比较的时候建议使用什么?为什么?
建议使用 Objects 提供的 equals 方法。
比较的结果是一样的,但是更安全。

常用API 

StringBuilder 

 

 

 

 

总结:

1、为什么拼接、反转字符串建议使用StringBuilder?

String :内容是不可变的、拼接字符串性能差。
StringBuilder :内容是可变的、拼接字符串性能好、代码优雅。
定义字符串使用 String
拼接、修改等操作字符串使用 StringBuilder

常用API 

Math 

常用API 

System

 

 常用API

BigDecimal

 

 

 

总结:

1. BigDecimal 的作用是什么?
解决浮点型运算精度失真问题。
2. BigDecimal 的对象如何获取?
BigDecimal b1 = BigDecimal . valueOf ( 0.1 );

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值