
class MyTest {
public void publicMethod(Object o) {
Systemoutprintln("调用的公共方法 " + o);
}
/
类的私有方法
/
private void privateMethod(Object o) {
Systemoutprintln("调用了私有方法 " + o);
}
}
新建main方法
import javalangreflectMethod;public class ReflectionTest {
public static void main(String args[]) throws Exception{
MyTest myTest = new MyTest();
// 调用公共方法
myTestpublicMethod("传入参数");
// 编译报错
// myTestprivateMethod();
// 获得类的私有方法
Method method = MyTestclassgetDeclaredMethod("privateMethod",Objectclass);
// 开启私有访问权限
methodsetAccessible(true);
methodinvoke(myTest,"传入参数");
}
}
只能通过反射才能调用私有方法
方法1 新建一个类。然后在调用类中先进行被调用类实例化,然后通过实例化的对象访问。例如:
//先定义一个类
//实例化,调用
方法2新建一个类,将该类中需要被调用的方法设置为静态(static),加了static后,就可以用类名直接调用。然后在调用类中直接通过类名进行访问。调用格式为:类名方法名(参数表)。例如:
扩展资料:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。
参考资料:
class Runtime1
{
public Runtime1()
{
try{
RuntimegetRuntime()exec("C:\\Program Files\\Microsoft Visual Studio\\Common\\MSDev98\\Bin\\MSDEVEXE");
}
catch(Exception e)
{
}
}
public static void main(String []args)
{
new Runtime1();
}
}
//把代码第7行exec后面的括号里里面换成你应用程序的路径即可,注意路径加双斜杆你是说Main函数,还是main()函数?
如果Main,那和一般的函数没区别,如果是main(),则不能直接调用。但可以通过java的Runtime类去执行。
比如你的D:盘根下有个java类 Helloclass,里面有main()函数
你的执行类是TestClass
public class TestClass {
public static void main(String argv []) {
String cmdstr = "cmd /c java d:/Hello";
Runtime run = RuntimegetRuntime();
try {
Process p = runexec(cmdstr);
BufferedInputStream in = new BufferedInputStream(pgetInputStream());
BufferedReader inBr = new BufferedReader(new InputStreamReader(in));
String lineStr;
while ((lineStr = inBrreadLine()) != null)
Systemoutprintln(lineStr);
if (pwaitFor() != 0) {
if (pexitValue() == 1)//pexitValue()==0表示正常结束,1:非正常结束
Systemerrprintln("命令执行失败!");
}
inBrclose();
inclose();
} catch (Exception e) {
eprintStackTrace();
}
}
}这样去调用。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)