Java基础学习08

多态的使用及细节(2023-01-28)

1.对象多态 :对象多态涉及到向上转型和向下转型,首先对象多态格式为   父类类型 父类引用 = new 子类(向上转型运用此方法可以更方便维护代码
比如当需要向函数里面传入参数,而参数的类型是类的时候,可以通过向上转型的方法将所有的子类对象全部用父类代替
public void Action(Animal animal ,Food food)代替public voidAction(Dog dog ,Bone bone)向上转型可以调用父类的所有成员,但是不能调用子类的特有成员
2.向下转型即类似于强转,当子类里面有一些特有的方法并且需要调用这些方法的时候就需要将父类强转为子类
Student student=(Student) persons[i];
3.AA instanceof BB 用来判断AA的运行类型(编译类型看等号左边,运行类型看右边)是不是BB类型或者BB的子类型
4.属性没有重写一说,属性的值看编译类型。
示例动态数组代码如下:
复制代码
package JavaLearn.PolyArray01;

public class PolyArray {
    public static void main(String[] args) {
        Person[] persons=new Person[5];
        persons[0]=new Person("jack",20);
        persons[1]=new Student("tom",21,100);
        persons[2]=new Student("smith",22,56);
        persons[3]=new Teacher("scoot",35,20000);
        persons[4]=new Teacher("edith",65,30000);
        for(int i=0;i<5;i++){
            System.out.println(persons[i].say());
            if(persons[i] instanceof Student){
                Student student=(Student) persons[i];
                student.study();
            }else if(persons[i] instanceof Teacher){
                Teacher teacher=(Teacher) persons[i];
                teacher.teach();
            }
        }
    }
}
复制代码

 

posted @   cojames  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示