面向对象巩固
面向对象(下):
1, 什么是类的继承 ?
以一个类为基础(父类, 超类), 新设计一个类(子类, 基类), 可以被称为类的继承
2, 什么是方法的重写(Override / Overwrite) ? 方法重写需要满足什么样的条件 ?
重载(Overload)(发生在同一个类中)
重写:
1, 必须要有继承 !
2, 方法名相同
3, 参数列表(参数类型, 参数个数一致)
4, 返回值类型相同
5, 子类重写父类的方法不能使用比父类更为严格的访问权限
Object
toString方法的重写
equals方法的重写
hashCode()
3, final 关键字代表什么意思 ? 怎么使用 ?
final: 最终的(常量--不可更改的值)
变量:
常量, 让这个变量只能被赋值一次
方法:
被final关键字修饰的方法, 不能被重写
类:
被final修饰的类, 不能被继承
4, 多态的定义是什么 ?
Cut
Cut
在同一个方法中, 参数的类型相同,
但是由于运行的环境不同而表现出来的不同的形式
父类的引用指向子类的对象
5, 什么叫对象转型, 什么叫向上转型, 什么叫向下转型
向上转型: 隐式
向下转型: 显式, 需要手动的强制转换一下
instanceof关键字
用来判断某个变量是否是一种类型
左边写变量, 右边写一种类型, 最后结果返回boolean值
父类的对象, 不能访问子类中特有的成员(成员变量, 成员方法)
6, 什么样的类可以被称为抽象类 ? 抽象类的特点 ?
1, 在一个类中, 某个方法不需要实现, 完全交给子类去实现,
这个方法需要被声明为抽象方法
2, 含有抽象方法的类, 必须被声明为抽象类
抽象类可以没有抽象方法
即使没有抽象方法, 也不能被实例化
3, 抽象类无法被实例化(没法使用new)
4, 抽象类的子类没有能力去实现父类的抽象方法的时候
自己也需要被声明为抽象类, 没有实现的方法声明为抽象方法
等待下一个子类去实现
7, 什么是接口 ? 如何使用 ?
接口是一种特殊的抽象类
抽象类是继承来的, 继承只能单继承
接口可以多个同时实现
接口中的方法默认都是public
接口中可以定义成员变量(全局, 整个实现类都可以访问)
实现类实现 继承了父类的接口 的时候,
需要实现所有的接口中的方法
接口可以多继承(类不行)
如果一个抽象类实现接口, 可以只实现部分方法
普通类需要全部实现
Ball
play
BasketBall
FootBall
8, package 和 import 关键字
package关键字可以用来解决类名重名的现象
*.jar(java第三方类库)
9, 权限修饰符(访问控制)都有哪些 ? 各自的含义是什么 ?
publicprotected()private
公开的受保护的默认私有的
rint