scala-面接概要
2446 ワード
objectとclassの違いは?
objectはクラスの単一のオブジェクトであり,開発者はnewキーワードでインスタンス化する必要はない.オブジェクトの名前がクラス名と同じ場合、このオブジェクトは伴生オブジェクトです.
付き添い人は何ですか.
伴生オブジェクトはクラスと同じ名前のオブジェクトであり、同じ名前のクラスと同じソースファイルに存在し、プライベートプロパティに相互にアクセスできる必要があります.
applyとunapplyの方法の違い
applyメソッドは、与えられたパラメータからオブジェクトを作成するために、伴生オブジェクトでよく使用されます.unapplyメソッドは、オブジェクトからオブジェクトを構築するパラメータを抽出します.
scalaサンプルクラスの利点
アクセス修飾子
scalaアクセス修飾子はprivate、protected、publicの3つあります.
アクセス修飾子
アクセス制御
プライベートメンバー
プライベートメンバーが存在するクラスまたはオブジェクトの内部表示
メンバーの保護
メンバーが存在するクラスのサブクラスの表示を保護
共通メンバー
どこでもアクセス可能
trait(特質)とabstract class(抽象クラス)の違いは?
1つのクラスは1つの抽象クラスしか統合できませんが、withキーワードで複数の特質を継承できます.抽象クラスにはパラメータ付き構造関数があり,特質はだめである(例えばtrait(i:Int){}この宣言は誤りである)
クローズドパッケージ
objectはクラスの単一のオブジェクトであり,開発者はnewキーワードでインスタンス化する必要はない.オブジェクトの名前がクラス名と同じ場合、このオブジェクトは伴生オブジェクトです.
付き添い人は何ですか.
伴生オブジェクトはクラスと同じ名前のオブジェクトであり、同じ名前のクラスと同じソースファイルに存在し、プライベートプロパティに相互にアクセスできる必要があります.
applyとunapplyの方法の違い
applyメソッドは、与えられたパラメータからオブジェクトを作成するために、伴生オブジェクトでよく使用されます.unapplyメソッドは、オブジェクトからオブジェクトを構築するパラメータを抽出します.
scalaサンプルクラスの利点
object Demo extends App {
//====================== ===========================
//1、 apply , new
val p = People("yk",22)
//2、 unapply ,
p match {case People(x,y) => println(x,y)}
//========================================================
}
case class People(name:String,age:Int)
アクセス修飾子
scalaアクセス修飾子はprivate、protected、publicの3つあります.
アクセス修飾子
アクセス制御
プライベートメンバー
プライベートメンバーが存在するクラスまたはオブジェクトの内部表示
メンバーの保護
メンバーが存在するクラスのサブクラスの表示を保護
共通メンバー
どこでもアクセス可能
trait(特質)とabstract class(抽象クラス)の違いは?
1つのクラスは1つの抽象クラスしか統合できませんが、withキーワードで複数の特質を継承できます.抽象クラスにはパラメータ付き構造関数があり,特質はだめである(例えばtrait(i:Int){}この宣言は誤りである)
クローズドパッケージ