您的位置:首页 > 其它

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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  多态 继承 对象 class
相关文章推荐