Java方法重写,多态

来源:互联网 发布:html data属性 js 编辑:程序博客网 时间:2024/06/11 21:28
方法重写的规则:
1.在继承关系的子类
2.重写的方法名,参数,返回值类型必须与父类相同

3.私有方法不能继承而也无法重写

方法重写的意义是实现多态
继承是代码重用的一种方式
将子类共有的属性和方法都放在父类中
抽象类不能实例化:
abstract也可以用于方法:
抽象方法没有方法体
抽象方法必须在抽象类里
抽象方法必须在子类中被实现,除非子类是public abstract void play();
final用法:
1.不想被其他类继承‘
2.方法不希望被重写(final方法不能被子类修改,子类只可以调用)
3.属性值不希望被修改(前提是常量要被赋初值,而且不能被修改,只能使用)
static:
用来修饰属性,方法,代码块
父类和子类中都有static变量,初始化顺序:
1.父类static变量/代码块 初始化
2.子类static变量/代码块 初始化
3.父类构造方法
4.子类构造方法
类属性使用方式:
1.对象.类属性
2.类名.类属性
推荐使用第二种
类属性和普通属性的区别:
1.使用方式的不同:
类属性不需要创建对象就可以使用;
普通属性必须要创建对象
2.各自特点:
类属性属于全局的,所有的对象共用一个属性值;
普通属性:每个对象的属性值是特定的,改变一个对象属性另一个不会发生变化
类方法的特点:
不需要创建对象就可以使用
如果类有静态属性或者代码块:
父类的类属性----父类静态代码块
子类的类属性-----子类静态代码块
父类属性-----父类代码块-----父类构造
子类属性-----子类代码块------子类构造
只要类被编译,无需创建对象,就会调用类中的静态内容

静态方法与非静态方法之间的相互调用:
1.在静态方法中不能直接调用非静态方法
2.非静态方法可以直接调用静态方法
3.静态方法如果要调用非静态方法,必须要创建对象,通过对象.方法()来调用
多态:
同一个引用类型,使用不同的实例而执行不同的操作
如何使用多态:
1、使用继承
2、子类重写父类的方法
3、父类引用子类
多态的优点:
1、可替换性
2、可扩展性’
3、接口性:多态是超类通过 方法签名,向子类提供了一个共同的接口,由子类去完善或者覆盖它而实现。
4、灵活性
5、简化性



原创粉丝点击