继承,重载,多态

来源:互联网 发布:我和僵尸有个约会知乎 编辑:程序博客网 时间:2024/05/16 14:21

继承:

子类访问父类成员
使用super关键字
方法重写的默认行为是调用父类方法内容
调用父 类中定义的方法结果
*1.如果子类没有重写父类的方法,调用的就是父类的实现
*2.如果子类重写了父类的方法,调用的就是子类中的实现

一个类创建对象时的初始化顺序:属性,代码快(初始化),构造
有继承关系后,先有父类,再有子类
父类属性-->父类代码块-->父类构造-->
-->子类属性-->子类代码块-->子类构造

有些 父类成员不能继承:
子类不能访问父类private 成员
子类与父类不在同包,使用默认访问权限的成员
构造方法
public class Car {private String[] name=new String[3];private String[] type=new String[3];private String[] color=new String[3];private String[] speed;public Car() {super();}}

方法重载:

同一个类中多个方法;
    方法名相同
    参数列表不同
构造函数重载

方法重写的规则:
在继承关系的子类中
重写打的方法名,参数,返回值类型必须与父类相同
私有方法不能继承因而也无法重写
方法重写VS方法重载

一个类有了抽象方法必定是抽象类

final用法:
使用final类 终极类 不能再被继承
方法中加了final 不能被重写
属性值中加了 不能被修改
static 可以用来修饰属性、方法和代码块
static 修饰的属性和方法称为类属性(类变量),类方法
父类和子类中农都有static变量,初始化顺序:
1.父类static 变量/代码块初始化
2、子类static变量/代码块 初始化
3、父类构造方法
4、子类构造方法
类属性的使用方式:
1.对象.属性
2.类名.类属性(推荐)
3.类属性和普通属性的区别
使用方式的区别
类属性不需要创建对象就可以使用,普通属性必须创建对象
类属性:类名.类属性 普通属性:对象.属性
各自特点:
类属性属于全局的,所有的对象共用一个属性值
普通属性是每个对象属性值是特定的
改变一个对象属性,另一个对象属性不会发生变化
多态:同一个引用类型,使用不同实例而执行不同的操作
如何实现多态:
使用继承
子类重写父类的方法
父类引用子类;
向上转型:
父类引用子类
可见性:子类重写父类的方法
应用:多态
向下转型
强制类型转换,父类转换子类
应用:类型还原
instanceof
判断一个对象是否属于一个类或者实现了一个接口



访问修饰符的范围