2

我想知道是否有一种方法可以阻止一个类使用方法,但让另一个类根据它们扩展的内容使用该方法。

假设 class1 实现 Plugin,class2 实现 Mod,是否可以允许 class2 使用方法 load();但阻止 class1 使用它

4

2 回答 2

1

也许您可以将调用者的类型传递给方法,然后使用instanceof 比较运算符。例如:

public void myMethod(Object obj){
    if(obj instanceof Mod){
        \\ do something
    } else if(obj instanceof Plugin){
        \\ do not permit
    }
}
于 2012-07-11T19:03:44.353 回答
-1

使用instanceof检查实例的类型,然后赋予它方法的权限。

Class1 c1 = new Class1();
Class2 c2 = new Class2();

doIt(c1);
doIt(c2);

public void doIt(Object obj){

    if (obj instanceof Class2){

         myRestrictedMethod();

    }


}
于 2012-07-11T19:04:01.187 回答