java的三大特性
时间:2014-07-22 23:09:13
收藏:0
阅读:339
三大特性 封装 对象要有明确的边界 数据隐藏,保护 访问修饰符 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类任何子类对象
评论(0)