多态

什么是多态?

多态是指两个或多个属于不同类的对象,对于同一个方法调用作出不同响应的方式。

如何实现多态?

1.     父类  对象名  =  new  子类  ();

2.     调用重写方法,即可产生多态。

编译时和运行时:

1.      编译时:在编写代码期间,没有run  as时,都属于编译时。

2.      运行时:在run  as时,系统处于运行状态时,都属于运行时。

多态的优势:

1.     多态对已存代码具有可替换性。

2.     多态对已存代码具有可扩充性。

3.     多态具有灵活性,提高了使用效率。

4.     多态简化对应用软件的代码编写和修改的过程。

什么是接口?

接口是一种特殊的抽象类,接口里有很多抽象方法。接口关键字:interface.

结构: public interface  接口名{ 抽象方法 }

为什么要使用接口?

接口可以精简程序结构,免除重复定义,提出设计规范。

JAVA只支持单继承,可以实现多个接口。


public interface Flyable {  
    public void fly();  
          
  
}  
  
  
  
  
public interface Transform {  
    public void trans();  
  
}  
  
  
  
  
飞机:  
public class Plane implements Flyable,Transform{  
  
    @Override  
    public void trans() {  
        System.out.println("飞机可以运货。");  
          
    }  
  
    @Override  
    public void fly() {  
        System.out.println("飞机靠气流原理飞行。");  
  
    }  
      
  
}  
  
  
  
  
蚊子:  
public class Masquito implements Flyable,Transform{  
  
    @Override  
    public void trans() {  
        System.out.println("蚊子可以运食物。");  
          
    }  
  
    @Override  
    public void fly() {  
        System.out.println("蚊子靠翅膀飞。");  
          
    }  
  
}  

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();  
  
    }  
  
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值