A. java类中方法private怎么调用
私有方法,类外部是无法调用的,解决方法,一,修改为public方法,而,在类内部再添加一个public方法,该方法去调用私有,这样就不用改动到原方法了
B. java 一个类调用另一个类的private方法
Java调用private方法利用的是Java中的类反射机制 。
定义一个class,定义一个内部private方法:
public class PrivateTest {
private void print() {
System.out.println("this is a private method");
}
}
再定义一个class去访问刚才定义的private方法,也就是print()如下
import java.lang.reflect.Method;
public class PrivateTest2 {
public static void main(String[] args) {
try {
Method method = PrivateTest.class.getDeclaredMethod("print", new Class[]{});
method.setAccessible(true);
Method.invoke(new PrivateTest(), new Object[] {});
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
}
利用java的反射机制,即使是private方法,也可以被调用使用。
C. java反射,调用private的方法
soeasy
Stringpath=“com.test.B”
Classclazz=Class.forName(path);//获得b的反射
Bb=(B)clazz.newInstance();//前提是b类有个无参构造函数
Methodm=clazz.getDeclaredMehod("SetName",String.class);
m.setAccessible(true);//不做安全检查,你才可以去访问私有方法
m.invoke(b,"哈哈");
这里是给B里面的(下面这个方法进行调用赋值)
privatevoidSetName(Strings){}
psgetDeclaredMehod是对私有的方法进行调用要访问必须加setAccessible
getMehod是对通用方法进行调用,不用加setAccessible
D. java反射调用private方法
Java程序不能访问持久化类的private方法,但是利用JAVA的反射机制可以实现调用,代码如下:
<spanstyle="font-size:14px;">
importjava.lang.reflect.InvocationTargetException;
importjava.lang.reflect.Method;
publicclassReflectDemo{
publicstaticvoidmain(String[]args)throwsException{
Methodmethod=PackageClazz.class.getDeclaredMethod("privilegedMethod",newClass[]{String.class,String.class});
method.setAccessible(true);
method.invoke(newPackageClazz(),"452345234","q31234132");
}
}
classPackageClazz{
privatevoidprivilegedMethod(StringinvokerName,Stringadb){
System.out.println("---"+invokerName+"----"+adb);
}
}
</span>
#程序输出结果为:---452345234----q31234132
E. java怎么调用另一个类的方法
java中如何调用类?本类中的直接方法名调用,不管是public还是private或protected。其他类中的如果是public的话,直接其他类的对象调用即可。如果是static的话直接其他类名加方法名调用。
如果另一个类中的那个方法是私有的话,就不能直接调用到,如果是其他类型的话看情况,如果是静态的(static)话,直接用类名可以调用到,如果是非静态的,就需要利用另一个类的实例(也就是用那个类生成的对象)来调用。
先在eclipse中创建一个Java工程文件。并在src下创建demo包,在demo包下创建类DemoClass。接下来在DemoClass类中添加一个静态属性和静态方法。被static修饰的属性或方法就是静态的。
如果一个类中只有一个名称为a的方法,那么我们可以直接调用即可,如下图所示以下是我们直接使用传统的方式直接调用这个类中的a方法。
Java中的一个类怎么调用另一个类中的方法
1、java类有两种方法一种是类方法就是用static修饰的,一种是实例方法,就是没有static修饰的方法。类方法可以同时类名.方法名的方式调用。而实例方法必须先生存类的实例在通过实例.方法名的方式调用。
2、如果有访问权限的话,可以调用该类的静态方法(不同包需要引用import);一般的方法只能引用该类的实例对象的方法。直接在此类的方法里调用另一个类或对象的方法。
3、先在eclipse中创建一个Java工程文件。并在src下创建demo包,在demo包下创建类DemoClass。接下来在DemoClass类中添加一个静态属性和静态方法。被static修饰的属性或方法就是静态的。
4、与一般调用没什么差别,直接new出来另一个类的对象,调用方法即可。
Java中的一个类怎么调用另一个类中的方法?1、java类有两种方法一种是类方法就是用static修饰的,一种是实例方法,就是没有static修饰的方法。类方法可以同时类名.方法名的方式调用。而实例方法必须先生存类的实例在通过实例.方法名的方式调用。
2、先在eclipse中创建一个Java工程文件。并在src下创建demo包,在demo包下创建类DemoClass。接下来在DemoClass类中添加一个静态属性和静态方法。被static修饰的属性或方法就是静态的。
3、如果一个类中只有一个名称为a的方法,那么我们可以直接调用即可,如下图所示以下是我们直接使用传统的方式直接调用这个类中的a方法。
4、如果有访问权限的话,可以调用该类的静态方法(不同包需要引用import);一般的方法只能引用该类的实例对象的方法。直接在此类的方法里调用另一个类或对象的方法。
在java中怎样使方法调用同一个类中的方法是什么?1、如果一个类中只有一个名称为a的方法,那么我们可以直接调用即可,如下图所示以下是我们直接使用传统的方式直接调用这个类中的a方法。
2、方法新建一个类。然后在调用类中先进行被调用类实例化,然后通过实例化的对象访问。
3、通过this的方式引用,this是当前类的引用,可以在类里面来引用这个类的属性和方法。
4、你main方法是静态方法,静态方法是不能调用非静态方法。因为静态方法是提前加载的。这个时候可能非静态方法根本就还没加载。所以,是部允许在静态方法里面调用非静态方法的。