多态:
多态:多种状态
在面向对象的语言中,接口的不同的实现即为多态
多态性:
允许你将你的父类引用设置成为一个或者多个子类对象
class F{}
class Z extends F{}
public class Test{
public static void main(String[] args){
//第一种:创建父类对象 (只能调用父类中的方法)
F f = new F();
//第二种:创建子类对象
//1、父类中继承的
//2、自己定义的
//3、如果存在重写,调用的是重写之后的
Z z = new Z();
//第三种:父类的引用,指向之类对象
//1、父类中自己写的
//2、子类中重写的父类的方法调用重写之后的方法,屏蔽了自己特有的方法
F f = new Z();// 等价于 Z z = new Z(); F f = z;
}
}
多态的格式:
普通的
父类 自定义变量 = new 子类();
抽象类
抽象类 自定义变量 = new 抽象类的子类();
public abstract class Hero {
public abstract void ATK();//攻击
}
public class HouYi extends Hero{
//一个类继承一个抽象类,就必须实现抽象类中的所有的抽象方法
//如果不想实现,就要将子类变成一个抽象类
@Override
public void ATK() {
System.out.println("发动一个射日的技能");
}
public static void main(String[] args) {
//我们非常清楚,抽象类不能创建对象
//我们只能通过子类进行创建对象
Hero hero = new HouYi();
hero.ATK();
}
}
接口
public interface Skill {
public void useSkill();//使用技能的抽象方法
}
/**
* 惩戒的技能
*/
public class ChengJie implements Skill{
@Override
public void useSkill() {
System.out.println("后羿使用惩戒技能");
}
}
public class Test_02 {
public static void main(String[] args) {
Skill s1 = new ChengJie();//接口不能创建对象,所以使用实现类对象
s1.useSkill();
}
}
一句话总结多态
每种事务都有多种体现的方式,父类的引用指向子类对象 或者 接口的引用指向实现类对象
Java 多态简单理解
本文详细介绍了Java中的多态性概念,包括多态的三种表现形式:父类对象创建子类对象、子类对象直接创建以及父类引用指向子类对象。通过实例展示了多态在实际编程中的应用,包括接口的实现与抽象类的继承。同时,文章通过代码演示了如何利用多态调用重写的方法,并总结了多态的本质——一种事物的多种体现方式。
摘要由CSDN通过智能技术生成