什么是多态?
多态是指两个或多个属于不同类的对象,对于同一个方法调用作出不同响应的方式。
如何实现多态?
1. 父类 对象名 = new 子类 ();
2. 调用重写方法,即可产生多态。
编译时和运行时:
1. 编译时:在编写代码期间,没有run as时,都属于编译时。
2. 运行时:在run as时,系统处于运行状态时,都属于运行时。
多态的优势:
1. 多态对已存代码具有可替换性。
2. 多态对已存代码具有可扩充性。
3. 多态具有灵活性,提高了使用效率。
4. 多态简化对应用软件的代码编写和修改的过程。
- public class Question {
- //你的性别
- public void getSex() {
- System.out.println("性别");
- }
- //你的身高
- public void getHeight() {
- System.out.println("身高");
- }
- //你的年龄
- public void getAge() {
- System.out.println("年龄");
- }
- }
- (Answer1)
- public class Answer1 extends Question{
- public void getSex() {
- super.getSex();
- System.out.println("男");
- }
- @Override
- public void getHeight() {
- super.getHeight();
- System.out.println("1.67");
- }
- @Override
- public void getAge() {
- super.getAge();
- System.out.println("18");
- }
- }
- (Answer2)
- public class Answer2 extends Question{
- public void getSex() {
- System.out.println("女");
- }
- public void getHeight() {
- System.out.println("1.63");
- }
- public void getClothes() {
- System.out.println("17");
- }
- }
- (Answer3)
- public class Answer3 {
- public void getSex() {
- System.out.println("男");
- }
- public void getHeight() {
- System.out.println("1.75");
- }
- public void getClothes() {
- System.out.println("19");
- }
- }
- (Index)
- public class Index {
- public static void main(String[] args) {
- Question question = new Answer1();
- question.getSex();
- question.getHeight();
- question.getAge();
- }
- }
什么是接口?
接口是一种特殊的抽象类,接口里有很多抽象方法。接口关键字:interface.
结构: public interface 接口名{ 抽象方法 }
为什么要使用接口?
接口可以精简程序结构,免除重复定义,提出设计规范。
JAVA只支持单继承,可以实现多个接口。