問題タブ [package-private]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
56 参照

android - ライブラリ外からのオブジェクトへのアクセスをブロックする方法は?

私はライブラリを開発していますが、Android ではオブジェクトが多すぎます。したがって、クラスをパッケージでグループ化する必要があります。C から A クラスにアクセスしたいのですが、プロジェクト X からこのオブジェクトにアクセスできないようにしたいので、プライベート パッケージ (デフォルト) と "パブリック" 識別子を使用できません。

出来ますか ?パッケージなしでクラスをグループ化する方法はありますか? ありがとう。

0 投票する
2 に答える
170 参照

scala - Scalaのサードパーティのjarで定義されたパッケージのプライベートクラスを拡張することは可能ですか?

サードパーティの jar で定義されているパッケージのプライベート クラスを scala で拡張することは可能ですか。たとえば、私のコードが依存しているサードパーティの jar にそのようなクラスがある場合

コードでこのクラスを何らかの方法でサブクラス化できますか?

ありがとう

0 投票する
2 に答える
222 参照

scala - パッケージプライベートなクラスのモックオブジェクトの作り方

クラスがあります。Aファクトリ メソッドを持つコンパニオン オブジェクトがあります。

class A private[somepackage](x: Int) {

}

object A { def createA(y: Int): A = { new A(y) } }

Aここで、別のパッケージにある scalatest ファイルにモック オブジェクトを作成する必要があります。

私が与えるとき

private val a = mock[A] --> コンパイル エラーが発生します。

Aクラスのコンストラクタは << >>Aでアクセスできません。somewhereオブジェクトをモックするより良い方法はありますか??

0 投票する
0 に答える
106 参照

java - 同じパッケージ名で外部クラスを追加し、カプセル化を解除する

Kotlin に関する本を読んでいるときに、次のステートメントに出くわしました。

Java では、カプセル化を簡単に破ることができます。これは、外部コードがコードで使用されているのと同じパッケージでクラスを定義できるため、package-private 宣言にアクセスできるためです...

これが完全に正しいかどうかはわかりませんが、たとえば、依存しているサードパーティのモジュールを使用して同じパッケージでクラスを定義し、そのパッケージプライベートデータにアクセスできるということですか? それとも別の意味ですか?