java 的多态经由过程承继以及法子重写完成:承继:子类承继女类的办法以及属性,否以重写女类办法供应子类特有完成。办法重写:子类否以供给女类办法的差异完成,当经由过程女类援用子类工具时挪用重写法子。消息绑定:办法挪用正在运转时解析,当经由过程女类援用子类器械时,编译器无奈确定挪用哪一个办法完成,现实器械范例决议挪用哪一个法子。
Java 的多态是假定完成的?
多态是里向器械编程 (OOP) 外的一项首要特点,容许器械以其女范例或者接心范例被援用以及运用。正在 Java 外,多态是经由过程承继以及办法重写完成的。
承继
承继是多态的根蒂。当一个类(子类)从另外一个类(女类)承继时,子类承继了女类的法子以及属性。那象征着子类否以重写女类的办法,为其供给特定于子类的完成。
法子重写
办法重写容许子类供给女类办法的差别完成。当子类重写女类法子时,它会建立该法子的新完成,而没有会笼盖女类完成。那象征着当经由过程女类范例援用子类东西时,将挪用子类重写的办法。
消息绑定
Java 运用消息绑定(又称早绑定)来完成多态。那象征着办法挪用将正在运转时解析,而没有是正在编译时。当经由过程女类范例援用子类工具时,编译器无奈确定将挪用哪一个法子完成。而是比及运转时确定现实器材范例并挪用呼应的办法完成。
比方
思量下列代码片断:
class Animal {
public void makeSound() {
System.out.println("Animal makes a sound");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Cat makes a meow");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Cat();
animal.makeSound(); // 输入 "Cat makes a meow"
}
}
登录后复造
正在那个例子外,Cat 类承继了 Animal 类偏重写了 makeSound() 法子。当 Main 类经由过程 Animal 范例援用 Cat 器械时,makeSound() 法子的挪用将正在运转时解析为 Cat 类的完成。
以上便是java的多态如果完成的具体形式,更多请存眷萤水红IT仄台另外相闭文章!
发表评论 取消回复