继承、方法重写和多态
来源:互联网 发布:点击按钮执行php代码 编辑:程序博客网 时间:2024/06/07 03:13
继承、方法重写和多态
(Alt+shift+s打开source资源编写get、set的调用方法)
子类只能继承一个父类(extends) ,即单根性,
继承具有传递性
(继承是达到了一种代码重用的作用)
super代表了父类对象,只能在子类中使用,super()表示父类构造函数,super.代表调用父类的属性
(如果有super()一定要放在第一句)
在继承体系里的初始化顺序是先创建父类对象再创建子类对象,
一个类里先给属性赋值,构造函数是最后给属性赋值。
执行顺序:(父类的属性->父类的构造函数->子类的属性->子类的构造函数)
(不能继承父类的情况) 1. 子类不能访问父类private成员
2. 子类与父类不在同包,使用默认权限的成员
3. 构造函数(方法)
符合is-a的关系设计
Private (本类)
Friendly默认 (本类、同包)
Protected (本类、同包、子类)
Public (本类、同包、子类、其他)
方法重载:同一个类里的同一方法,方法名一样但参数列表不同
方法重写:在继承关系的子类中,重新定义了父类的某个方法
规则:在继承体系的子类中,重写的方法名、参数、返回值类型必须与父类一致
私有方法不能继承,因而也无法重写。
1、Java中的使用抽象类,限制实例化(无法实现实例化)
(public abstract Person(){},所以就限制了Person的实例化)
抽象方法! @ 没有方法体{}的,仅仅是个声明,定义。 @抽象方法必须放在抽象类里面。 @ 继承了含有抽象方法的抽象类,就必须在子类中重写抽象方法! 除非子类也是个抽象类。
2、Final的用法,类不希望再被其他类继承,or方法不希望被重写,or属性不希望被修改, 是常量。
3、static 可以用来修饰属性、方法和代码块。
Static修饰的属性和方法称为类属性(类变量) 、类方法。
静态的方法,不用声明实例便可以运行
不使用static修饰的方法和属性属于单个对象,通常称为实例属性(实例变量) 、实例方法。
静态属性的初始化就一次(在第一次加载的时候),以后调用就不会再初始化了。
多态:同一个引用类型,使用不同的实例而执行不同的操作。(父类引用子类对象) 使用继承、子类重写父类的方法、父类引用子类、调用重写方法。
引用类型转换:
向上转型:父类引用子类,子类重写父类的方法,用多态
向下转型:强制类型转换,父类转换为子类,用instanceof
Object o= list.get(i);
if(o instanceof Show){
Show s=(Show)o;
s.service();
}
- 继承、方法重写和多态
- Objective-C - 多态, 方法的重写, 多态和继承
- 创建继承和方法重写
- 重写前奏~继承和多态
- 面向对象:继承、重写和多态
- 继承和方法重写如何支持多态性
- 静态(static)方法的继承和重写
- 静态(static)方法的继承和重写
- python继承和重写init方法
- java中的继承和方法的重写
- 静态(static)方法的继承和重写
- python继承和重写init方法--实例
- 重写和继承关系中的构造方法
- 静态(static)方法的继承和重写
- 封装、继承、多态与重写及方法
- JAVA 继承、方法重写、多态学习笔记
- 理解继承、封装和多态,分清重载和重写
- java中的继承和多态以及重载和重写
- ACM练级日志:POJ 3740 与Dancing Links
- vector和list区别
- HDU 1862 EXCEL排序 (排序水题)
- 继续畅通工程
- Android学习Scroller(四)——实现拉动后回弹的布局
- 继承、方法重写和多态
- ACM练级日志:POJ 3074 数独与DLX
- servlet容器中使用jersey 翻译官网
- 接口框架等知识点小结
- Jungle Roads
- 第七章 复用类
- ls
- Web和非Web下获取根目录的方法
- 各大内存数据库系统对比