《1-15 连续第二天总结》
3.引用类型的转换
向上类型转换
Dog dog = new Dog();
Animal animal = dog;
向下(强制)类型转换数据的溢出存在风险,强制转换 Dog dog2 = (Dog)animal;
用instanceof关键字进行验证:
if(animal instanceof Cat)
{
Cat cat = (Cat)animal;
}
else
{
System.out.println("无法进行类型转换");
}
4.抽象类
作用 用来约束子类,但不关注实现细节。
规则 abstract关键字修饰
5.java中的接口
特殊的类,由全局常量和公共的抽象方法所组成
定义规范,不关心内部数据和实现细节
interface 通常public
类 单继承,接口可多继承,正好弥补
属性是常量
使用 implements
[修饰符]class类名extends父类implements接口1,接口2,……
如果要继承父类,继承父类必须在实现接口之前
命名加I
接口与匿名内部类(未掌握)配合使用,多用于关注实现而不关注实现类的名称
14.UML简介(标准建模语言)
常用UML图 用例图 序列图 类图
UML 建模工具 Viso、Ratonl、PowerDesigner
15.阶段练习
面向对象 所用知识:
#继承
#多态(父类的引用指向子类)两个类有继承关系才能使用多态
Chinese p = new Chinese();
American p2 = new American();
******改成*****
Person p = new Chinese();
Person p2 = new American();
Person只用来制定规则
#用抽象类完善(更好地制定规则)
package com.imooc;
public abstract class APerson {
public abstract void say();
}
子类继承抽象类 引用改成抽象类
16.控制台版答答租车系统
#项目背景介绍
要求:展示所有可租车辆
选择车型、租车辆
展示租车清单,包含:总金额、总载货量及车型、总载人量及车型
#项目分析
数据模型分析 业务模型分析 显示和流程分析
Eg:欢迎使用答答租车系统:
您是否要租车:1 是 0否
您可租车的类型及其价目表
…… …… …… ……
请输入您要租车的数量:
4
请输入第1辆车的序号:
1
……2……
……3……
……4……
请输入租车天数:
3
您的账单:
***可载人的车有:
奥迪A4 马自达6 皮卡雪6 金龙 共载人:32人
***载货的车有:
皮卡雪6 共载货:2.0吨
***租车总价格:6450.0元