![](/img/trans.png)
[英]Java: How Can be child class constructor class neutralize parent constructor?
[英]Scala Child Class Constructor is not being called from Java Parent Class
我不太確定自己在做什么錯,我有一個名為Player的Java父類和一個Scala子類Character。 當我調用Character類時,將調用父構造函數,但不會調用子構造函數。 我覺得這里缺少基本的東西。
這是Java類(父類):
public class Player implements java.io.Serializable {
public Player(EntityClientPlayerMP player){
//...
}
}
這是Scala類(兒童):
class Character(clientPlayer:EntityClientPlayerMP) extends Player(clientPlayer) with Serializable {
def Character(client:EntityClientPlayerMP) = {
//...
}
def Character(name:String, playerUID:String) = {
//...
}
def Character(name:String) = {
//...
}
def Character() = {
//...
}
}
Scala中的構造函數的工作方式不同於Java。 特別是,它們不是與類同名的def
。 您可以在許多地方閱讀有關它的信息 。
無論如何,如果您確實需要備用構造函數,則它們看起來像這樣:
class C(name: String) {
def this(i: Int) = this(i.toString)
}
(原因是,忘記在備用構造函數中正確初始化事物是大量的錯誤和額外的樣板。通過強制將所有內容都傳遞給單個主構造函數,在僅需要一個構造函數時語法會更簡單,並且初始化錯誤的可能性較小。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.