本文主要是介绍《从C/C++到Java入门指南》- 26.record 类+多态,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
record 类+多态
前言
由于 record
类比较简单,将他和多态放在一节中。
record 类
final
类是从 Java 16
开始才正式发布的,可以理解为一个final class
,提供了一种更简洁紧凑的定义final
类的方式。
public record Clock(int hours, int minutesperhour) {public int getHours() {return this.hours;}public int getMinutesperhour() {return this.minutesperhour;}
}
多态
之前学过将子类的对象视为父类的做法叫做“向上转型”。
class Shape {public static void draw(Shape s) {if (s instanceof Circle) {System.out.println("绘制圆");} else if (s instanceof Square) {System.out.println("绘制方");} else {System.out.println("绘制父类图形");}}
}
class Circle extends Shape {}
class Square extends Shape {}public class Main {public static void main(String args[]) {Shape.draw(new Shape());Shape.draw(new Circle());Shape.draw(new Square());}
}
如果在图形类中统一处理所有延申类的图形绘制,利用向上转型的思想,可以大大提高项目效率。
这篇关于《从C/C++到Java入门指南》- 26.record 类+多态的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!