Java SE

张开发
2026/6/9 5:13:07 15 分钟阅读
Java SE
多态多态实现条件Java实现多态必须满足以下几个条件1.必须在继承条件下2.子类必须要对父类中的方法进行重写/覆盖/覆写3.通过父类的引用调用重写的方法重写1.返回一样2.方法名称一样3.参数列表一样(个数数据类型的排序)重载1.返回值不要求2.方法名称一样3.参数列表不一样向上转型和向下转型1.向上转型父类引用子类对象AnimalanimalnewDog();这就很好理解狗是动物的一种。2.向下转型DogdognewAnimal();向下转型就可以可以用父类Animal中的方法。但是向下转型并不是很安全要用关键字instanceof来判断一下能否进行向下转型。这里讲解一下instanceof使用的方法if(animal1instanceofDog)这里的animal1是我前面实例化出来的对象而后面的Dog是我的一个类向上转型我就可以引用父类Animal的方法并且还会显示多态的特性比如我是cat那么我在cat中重写的方法就会体现出来但是我就无法引用我自己类中特有的方法如果我想用自己的有的方法就要向下转型那么我新出来的对象不仅可以完全的运用我父类中的方法也可以运用我子类自己的方法。静态绑定和动态绑定静态绑定在编译的时候能根据参数个数类型等能确定调用哪个方法编译时多态静多态动态绑定父类引用子类对象通过父类引用调用在程序运行的时候绑定到子类的方法运行时的多态动多态多态总结多态当父类引用在引用不同的子类对象的时候调用同一个方法产生的效果不一样此时就叫做多态。抽象类特点1.抽象类当中可以定义和普通类一样的成员变量和成员方法。2.抽象类当中不一定必须有抽象方法没有抽象方法这个抽象类也可以定义。3.抽象类不能实例化。4.当一个普通类继承了抽象类之后这个普通类需要重写父类抽象类当中的成员。5.抽象类当中可以有构造方法其作用就是为了子类当中调用被初始化父类当中的成员。6.一个抽象类可以没有抽象方法但是如果有一个类有抽象方法那么这个类一定是抽象类。7. 抽象类也可以发生动态绑定向上转型多态等特性。8. 如果一个抽象类A继承了抽象类B那么抽象类A可以补充写抽象类B中的方法但是普通类C继承了抽象类A此时在普通类C中不仅要重写B中的方法也要重写A中的方法。9. 被private static final不能修饰抽象方法。一些关键字或者是语法特性就是为了帮助我们效验接口接口就是公共的行为规范大家在实现时只要符合规范标准就可以通用在Java中接口就可以看成是多个类的公共规范是一种引用数据类型。特点1.被关键字interface修饰的。2.接口当中的成员默认是public static final修饰的。3.接口当中的抽象方法默认是public abstract修饰的。4.接口当中的方法不能有具体的实现但是这个方法被static或者default修饰之后可以有具体的实现。5.接口也是不可以进行实例化的。6.一个类可以通过关键字实现一个或多个接口。7.当一个普通类实现该接口之后需要重写接口当中的所有抽象方法。8.可以发生向上转型多态。9.因为接口当中的方法默认是public修饰的所以子类当中重写的权限只能是public。这里演示一个相关接口的例子这里演示了一个关于电脑的接口的例子大家可以仔细的看一下。因为在Java中无法实现多继承但是有了接口的存在通过关键字implements可以实现多个接口从而实现了跟多继承一样的效果。所以我们可以有个最终的方案就是把单独的功能放到接口当中通过Java当中类可以实现多个接口的特性来实现多继承。comparator的使用这个是一个比较器通过以上的方法可以帮我们进行年龄的大小进行排序而且还可以定义一个数组用Array.sort(数组名比较器)这样里面的数据就会以我们比较器的方法来将数组中的数字进行排序。这里补充一点我们用什么引用去调用谁就是this。以上就是本次博客的内容望各位读者友友们三连

更多文章