C++で別のクラスの関数にアクセスするときは、 と書くことができます:classA :: fct();javaの:: operatorに相当するものは何ですか?
javaに同等の演算子がありますか? もしそうでなければ、Javaの別のクラスからどのように関数にアクセスできますか?
C++で別のクラスの関数にアクセスするときは、 と書くことができます:classA :: fct();javaの:: operatorに相当するものは何ですか?
javaに同等の演算子がありますか? もしそうでなければ、Javaの別のクラスからどのように関数にアクセスできますか?
C++の:: - 演算子(Scope Resolution Operator)では、あいまいな呼び出しや識別子への参照を解決できます。しかし、javaでは、すべての関数が実際にクラスのメソッド(メンバー)であるため、独立した関数はありません。そのようなので、この演算子の必要はありません、JavaとC + +のクラスの違いを見てください。
私はあなたが使用したい、その場合には、クラスのメンバー(おそらく静的)、アクセスしようとしている推測しています - 演算子をMwesigyeの答えや次のように例示されるような「を。」:
public class AB {
public static void main(String[] args) {
B myB = new B();
myB.printA();
}
}
public class A {
public static int getInt() {
return 4;
}
}
public class B {
public void printA() {
System.out.println(A.getInt()); // output: 4
}
}
ここで、 "。"演算子は、インスタンス化されたオブジェクトmyB(クラスBからインスタンス化された)からprintA()にアクセスするために使用され、静的メソッドgetInt()にアクセスするためにも使用されます。詳細はhereです。
クラスの生徒の例を挙げると、関数をC++の関数と呼びます( など)。
class Student{
//a non static method
public void getFees(){
//your logic
}
public static void deleteSubject(){
// your logic
}
}
class Club{
//create a new instance of student class
Student student = new Student();
public void printData(){
//access a non static method
student.getFees();
//accessing a static method
new Student().deleteSubject();
}
}
希望すると、これが役に立ちます。
C++はJavaではありません。 C++をモデルとしてJavaコードを記述しないでください。 – PaulMcKenzie
ほとんど完全に異なる言語ですが、どうして 'java.util.Arrays.equals(x、y)'のようにこれら2つの言語 – pankaj
'.'をマッピングしていますか? – Amadan