从c ++中的另一个类访问函数时, 我们可以写:classA :: fct();
java中是否有等效的运算符? 如果没有,我们如何从java中的另一个类访问函数?
答案 0 :(得分:1)
以一个你在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();
}
}
希望这会有所帮助。
答案 1 :(得分:1)
C ++中的:: - 运算符(Scope Resolution Operator)允许您解决对标识符的模糊调用/引用。但是,在java中没有独立的函数,因为所有函数实际上都是类的方法(成员)。因此不需要这个运算符,看看here 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(),它的实现与A类绑定而不是A的任何对象。可以找到更多信息here。