第五章类和对象2015-05-12

一 多态

1 java引用变量有两中类型:编译时类型和运行时类型,前者有声明变量时的类型决定,后者由实际赋给该变量的对象决定。而当编译时类型和运行时类型不一致时称为多态

2 引用变量中能调用编译型类型的方法

3 强制类型转换

--基本数据类型只能在数值型间进行,数值类型包括整数型、字符型、浮点型,数值型不能和布尔型进行转换

--引用类型只能把父类型的变量转换成子类类型,且这个变量指向的对象实际上是子类的实例才行,否则报ClasCastException

--进行强制转换前可以用instanceof判断是否可以转换

--用(type)运算符进行强制转换


二 继承和组合

1 继承可以实现类的重用,但是却也带来了破坏封装

2 使用继承需要注意的点:使用访问控制符修饰类、属性、方法,只暴漏需要被外部类调用的,还可以用final修饰不想被重写的属性、方法、类等

3 使用继承的条件:

--子类需要添加新的属性,而不是属性值的改变。如person派生出student,需要增加grade

--子类需要添加独有的行为方式。如person派生出teacher,需要添加teach()

4 继承: is a,如狼是一个动物

5 组合可以实现类的重用,封装性上比继承更好,

6 组合:has a,如手臂是人的一部分


三 初始化块

1 是构造器的补充,总是在构造器前执行

2 分两种:{ }和static{ }

3 初始化顺序:

类初始化阶段,先执行最顶层父类的静态初始化块,依次向下到当前类静态初始化块;对象初始化阶段,先执行顶层父类初始化块构造器,依次向下到当前类初始化块构造器


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值