2016/08/11 继承 方法重写 多态
2016-08-11 21:42
357 查看
继承,方法重写,多态
继承:extends 只能继承一个父类
将重复的代码抽象到父类,使用继承优化代码
使用继承:
编写父类:公共的属性和方法 编写子类,继承父类:子类特有的属性和方法 多态:父类引用子类对象实现
理解继承:
子类访问父类成员:使用super关键字 访问父类属性:super.name; super代表父类对象 通过super来调用父类的方法、属性和构造
继承后的初始化顺序
父类属性---父类构造方法---子类属性 --子类构造方法
有些父类的不能继承:
子类不能访问父类private成员 属性和方法 子类与父类不在同一个包里,默认访问修饰符修饰的成员 构造方法 可以调用父类的构造,但是不能继承父类的构造
访问修饰符:protect 可以修饰属性和方法,本类、同包、子类可以访问
访问修饰符总结:
访问修饰符 本类 同包 子类 其他 private 可以 默认friendly 可以 可以 protected 可以 可以 可以 public 可以 可以 可以 可以
方法重写的规则:
1. 有继承才有重写 2. 在继承关系的子类中,在子类中重写父类的方法 3. 重写的方法名、参数、返回值类型必须与父类相同 4. 私有方法不能继承因而也无法重写 父类调用,子类实现
方法重写与方法重载:
位置 方法名 参数表 返回值 访问修饰符 方法重写 子类 相同 相同 相同 不能比父类更严格 方法重载 同类 相同 不同 无关 无关
何时使用继承:
1. 继承与真实世界类似 符合is-a关系的设计使用继承 2. 继承是代码重用的一种方式 将子类都有的属性和行为放到父类中
Java中也使用抽象类,限制实例化 abstract 不能被实例化,没有实例化的意义
抽象类的特点:
1. 不能被实例化, 2. 如果一个类中有抽象方法,则这个类必须是抽象类 3. 抽象类中可以有抽象方法,也可以没有
抽象方法:
public abstract void sss(); 1.没有方法体 2.抽象方法必须在抽象类里 3.抽象方法必须在子类中被实现,除非子类是抽象类
final用法:
1. 终极类不想再被继承 2. 方法不希望被重写 3. 终极属性不想再被修改
static:
1. static可以用来修饰属性、方法和代码块 2. static修饰的属性和方法称为类属性(类变量)、类方法
静态属性,也可以称为类属性,
不会在内存中开辟新空间,只有一个,
静态方法:调用Statictest.test();
相关文章推荐
- A.4-继承,方法重写(覆盖)(override),虚函数(virtaul)和多态,抽象方法和抽象类abstract,密封类(sealed)和密封方法,常量的定义(const)
- 封装、继承、多态与重写及方法
- 继承、方法重写和多态
- 多态理解,方法重写分析,类继承与接口实现中,方法重写的实现机制的区别
- 子类继承父类,重写父类方法,运用多态时调用重写的方法时调用子类的还是调用父类的?
- Objective-C - 多态, 方法的重写, 多态和继承
- JAVA 继承、方法重写、多态学习笔记
- java 继承 方法重写 自动转型 多态 接口 抽象类
- 多态、继承---常量的覆盖和方法的重写
- JAV中一些基本概念:构造函数、方法重载、继承、方法重写、多态。
- JAVA【类】析构器、重载与继承、方法的重写、自动转型、多态、方法与类的分类、接口继承
- 面向对象,类的组合关系,继承,实现,方法重写,方法重载,this的使用,抽象方法和抽象类的比较,父类构造方法存在的意义,多态的是用和解析,各种访问修饰符
- 构造器、方法重载、继承、方法重写、自动转型、多态课堂笔记
- 类、对象、继承、封装、多态、方法的重载和重写、Java的访问修饰符与其它关键字
- 方法重写,继承,多态
- java 继承 方法重写 自动转型 多态 接口 抽象类
- 关于ActionScript 3.0 中方法重写和继承的发现(运行时多态,原理同Java)
- 类小结1:方法重载 变量 封装 import 继承 重写父类方法 调用父类构造方法 多态
- JAVA面试题解惑系列(九)——继承、多态、重载和重写
- 重载,继承,重写和多态的区别