我有一个A类,一个B类,B中有两个方法,m1和m2,其中m1调用m2,不想new,想在A中调用B的m1方法,该如何去办?
大致下面这个意思
pulic class A {
B.m1();
}
pulic class B {
public static void m1(){
m2();
}
private static void m2(){
}
}
上面是行不通的,提示我要把m2也公有静态了,但是我不想那样,
单例的话,我懂,除了单例,还有没有别的方法
私有方法就是不可以被外部调用,
你要是想被外部调用,就要用public,
这是java安全性定义的。
你要不尝试一下给m1 的调用放在方法中呢??好像在类里面直接调用方法是错误的,他会默认为申明方法,但是又没有返回值,所以编译出错。
感觉单例应该是最好的办法了,想不出来还有别的思路,java的特性要求在静态方法里调用的方法必须也是静态,因此静态方法通过类名调用应该是行不通的
反射,setAccessible(true)?
private修饰符是在类本身内部访问的,别的类不能访问,既然知道单例模式,就应该知道private修饰的属性和方法不能在其他类里访问。
java的安全性良好,设置访问修饰符就是为了提高安全性的,private只能在本类当中调用,例外静态方法也只能调用静态的方法。
public void getM1(){
m1();
}
然后调用getM1();
希望对你有用