2017-09-12 8 views
-1
class ReadHelper{} 
object ReadHelper {} 

class MainApp{ 
    val rHelp = ReadHelper//This line will be uneasy if I omit class declaration of ReadHelper 
} 
+0

それでは、どうしたらいいですか?それは私のためにうまく動作します。 – michaJlS

+0

これはクラスを作成するためのものです。 Javaのバックグラウンドを持っている場合は、オブジェクト定義をクラス内のすべての静的メソッドの場所として、クラス定義を他のもの用の場所として想像することができます。あなたがそれらの1つを必要としない場合は、両方を削除することができます。 –

+0

「見つからない:ReadHelperを入力してください」というエラーが表示される – Dnyaneshwar

答えて

3

を作成するために、クラス構造を定義する必要がありますか?

実際にはありません。

class ReadHelper{} 

class MainApp{ 
    val rHelp: ReadHelper = new ReadHelper 
} 

オリジナルケースに

class ReadHelper {} 
object ReadHelper {} 

class MainApp{ 
    val rHelp: ReadHelper.type = ReadHelper 
} 

か、単に

object ReadHelper {} 

class MainApp{ 
    val rHelp: ReadHelper.type = ReadHelper 
} 

rHelpは異なるタイプを持っていることを注意してください。

object ReadHelperは、class ReadHelperのオブジェクト(別名、OOP-languages)です。いわゆるcompanion objectと呼ばれています。これは、クラスの外に存在するクラスのような構造(シングルトン)です。バイトコードでは、ReadHelper(クラス自体)とReadHelper$(コンパニオンオブジェクト)の2つのクラスがあります。

Scalaのクラス、オブジェクト、コンパニオンオブジェクトについてはread moreする必要があります。

関連する問題