我已经开始学习 Kotlin。我目前的背景是Java。我发现 Kotlin 中的类属性与 Java 中的类字段有很大不同,尽管它们看起来很相似。在他的问题中,我想收集这两者之间的所有技术差异。这是我\xe2\x80\x99已经弄清楚的:
\n\nJava 字段和隐藏与 Kotli 属性和覆盖
\n(实际上这促使我写这篇文章):
在Java中,基类的字段被派生类中同名的字段隐藏,因此使用哪个字段取决于包含该字段的对象的引用类型,而不是对象本身的类型(字段不像方法那样被重写,因此它们不依赖于对象的运行时类型)。例如这段代码:
\n\nclass A {\n public String name = "A";\n public void printMessage() {\n System.out.println("Field accessed in method declared inside class A invoked form an object of " + getClass() + " : " + name);\n }\n}\n\nclass B extends A{\n public String name = "B";\n}\n\npublic class Main {\n public static void main(String... args){\n B b = new B();\n System.out.println("Field from instance of class B pointed by reference …Run Code Online (Sandbox Code Playgroud)