java的三大特性
2020-11-22 12:42
标签:style blog http java color 数据 java的三大特性,搜素材,soscw.com java的三大特性 标签:style blog http java color 数据 原文地址:http://www.cnblogs.com/zhangqiyang/p/3700329.html三大特性
封装
对象要有明确的边界 数据隐藏,保护
访问修饰符
private 私有 只能在对象内部访问 隐藏在对象边界之内
public 公开 任何地方都可以访问 暴露在对象边界之外
属性私有,方法也可以私有
为属性提供对应的get/set 访问方法
继承
一般 - 特殊
父类 子类
子类 is a 父类
共性放在父类,个性放在子类
class 子类 extends 父类
父类哪些属性和方法能继承给子类?
访问修饰符:
private 私有 本类访问 不能继承
(default) 默认 本类+同包 同包子类能继承
protected 受保护 本类+同包+子类 能继承
public 公开 能继承
构造方法不能继承给子类!
方法覆盖(Override)
子类用特殊的方法实现替换父类继承给它的一般的方法实现
语法:方法名、参数表、返回值类型相同;访问修饰符相同或更宽
单继承
一个类只能有一个直接父类 class B extends A
类之间会形成简单的树状结构
super
1. super. : 引用 父类对象
访问父类被遮盖的属性
调用父类被覆盖的方法
2. super(): 用在构造方法中的第一条语句 调用父类构造方法
在构造方法中,如果第一行不是"this(...)"或"super(...)" ,默认为"super();"
对象构造过程:
1) 分配空间 属性被赋以默认值
2) 构造父类对象 (重复2-4)
3) 初始化本类非静态属性 属性被赋以初始值
4) 调用本类构造方法 属性常常被赋以构造参数
多态
子类对象可以赋值给父类引用
1) 对象类型不变
2) 只能对引用,调用其引用类型中声明的方法
3) 运行时,根据对象实际类型,调用子类覆盖之后的方法
子类引用可以直接赋值给父类引用
父类引用必须通过强制类型转换,才能赋值给子类引用,可以通过instanceof判断类型是否兼容,从而避免类型转换异常!
不相干的两个类的引用之间,无法赋值!
引用 instanceof 类名 布尔表达式 判断引用中的对象和类名是否兼容
是不是
Animal a = new Dog();
a instanceof Dog true
a instanceof Cat false
a instanceof Animal true
多态的作用: 通用
将不同的子类对象,统一看作父类对象,从而屏蔽不同子类之间的差异
多态的常见用法:
多态用在方法的参数上: 形参为父类引用,实参可以为子类对象
m(A a):该方法可以用A类或A类任何子类对象作为实参
多态用在方法的返回值上:返回值类型为父类,实际返回值可以为子类对象
A m(): 该方法可以返回A类或A类任何子类对象