① 怎么实现javascript中调用java类中的方法
为了方便网页和Android应用的交互,Android系统提供了WebView中JavaScript网页脚本调用Java类方让册纳法的机制。只要调用addJavascriptInterface方法即可映射一个Java对象到JavaScript对象上。
1、映射Java对象到JavaScript对象上
代码如下:
mWebView = (WebView) findViewById(R.id.wv_content);
mWebView.setVerticalScrollbarOverlay(true);
final WebSettings settings = mWebView.getSettings();
settings.setSupportZoom(true);
//WebView启用Javascript脚本执行
settings.setJavaScriptEnabled(true);
settings.(true);
//映射Java对象到一个名为”js2java“的Javascript对象上
//JavaScript中可以通过"window.js2java"来调用Java对象的方法
mWebView.addJavascriptInterface(new JSInvokeClass(), "js2java");
代码如下:
/**网页Javascript调姿键用接口**/
class JSInvokeClass {
public void back() {
activity.finish();
}
}
2、JavaScript调坦没用Java对象示例
调用上述JSInvokeClass类对象的back方法,如下:
复制代码 代码如下:
window.js2java.back();
② java中一个类怎么调用另一个类中的函数
1、导入包:import md5.md5;
2、创建对象:md5 obj=new md5();
3、调用函数:obj.getMD5ofStr(" "); //里面的内容自己给
③ java怎么在main函数调用其他类的方法
new 出来。
比如有个classaa类
classaa(){
}
aaa=newaa();
④ java一个类怎么调用另外一个类的主方法
1、与一般调用没什么差别,直接new 出来另一个类的对象,调用方法即可。
B里面代码
publicclassB{
publicstaticvoidmain(Stringargs[]){
System.out.println("thisisB");
}
}
A里面代码
publicstaticvoidmain(Stringargs[])
{
Bb=newB();
b.main(args);
}
运行A效果:
⑤ 关于用java反射调用一个类里面的方法并执行
Java中要用到反射,首先就必须要获取到对应的class对象,在Java中有三种方法获取类对应的class对象。
1、通过类的.class属性
2、通过类实例的getClass()方法获取
3、通过Class.forName(String className)方法获取
现在比如在package下有个类Calculator
publicclassCalculator{
publicdoubleadd(doublescore1,doublescore2){
returnscore1+score2;
}
publicvoidprint(){
System.out.println("OK");
}
publicstaticdoublemul(doublescore1,doublescore2){
returnscore1*score2;
}
}
publicclassCalculatorTest{
publicstaticvoidmain(String[]args)throwsException{
//通过类的.class属性获取
Class<Calculator>clz=Calculator.class;
//或者通过类的完整路径获取,这个方法由于不能确定传入的路径是否正确,这个方法会抛ClassNotFoundException
// Class<Calculator>clz=Class.forName("test.Calculator");
//或者new一个实例,然后通过实例的getClass()方法获取
// Calculators=newCalculator();
// Class<Calculator>clz=s.getClass();
//1.获取类中带有方法签名的mul方法,getMethod第一个参数为方法名,第二个参数为mul的参数类型数组
Methodmethod=clz.getMethod("mul",newClass[]{double.class,double.class});
//invoke方法的第一个参数是被调用的对象,这里是静态方法故为null,第二个参数为给将被调用的方法传入的参数
Objectresult=method.invoke(null,newObject[]{2.0,2.5});
//如果方法mul是私有的private方法,按照上面的方法去调用则会产生异常NoSuchMethodException,这时必须改变其访问属性
//method.setAccessible(true);//私有的方法通过发射可以修改其访问权限
System.out.println(result);//结果为5.0
//2.获取类中的非静态方法
Methodmethod_2=clz.getMethod("add",newClass[]{double.class,double.class});
//这是实例方法必须在一个对象上执行
Objectresult_2=method_2.invoke(newCalculator(),newObject[]{2.0,2.5});
System.out.println(result_2);//4.5
//3.获取没有方法签名的方法print
Methodmethod_3=clz.getMethod("print",newClass[]{});
Objectresult_3=method_3.invoke(newCalculator(),null);//result_3为null,该方法不返回结果
}
}
⑥ java中一个类中的方法如何访问另一个类中的方法,方法都是public
新建一个类的实例,然后调用。
如:
publicclassha{
publicstaticvoidmain(String[]args){
abss=newab();
ss.haha();
}
}
classab{
publicvoidhaha(){
System.out.println("Java");
}
}
在main方法中调用类ab的haha方法。
总结一下:
类名 实例名 = new 类名(构造方法的参数表);
这是实例化,然后用实例名就可以进行调用了:
实例名.方法名(方法参数表);
注:参数表可以为空
另外,还有一种方法,就是将方法设置为静态(static),用类名直接访问。
如:
publicclassha{
publicstaticvoidmain(String[]args){
ab.haha();
}
}
classab{
//加上static
publicstaticvoidhaha(){
System.out.println("Java");
}
}
加了static后,就可以用类名直接调用。
总结一下:方法声明为:
public static void 方法名(参数表){}
调用格式为:
类名.方法名(参数表);
⑦ java涓鍚屼竴涓绫荤殑鏂规硶鎬庝箞璋冪敤
浣爉ain鏂规硶鏄闈欐佹柟娉曪紝
闈欐佹柟娉曟槸涓嶈兘璋冪敤闈為潤鎬佹柟娉曘
鍥犱负闈欐佹柟娉曟槸鎻愬墠鍔犺浇鐨勩傝繖涓鏃跺欏彲鑳介潪闈欐佹柟娉曟牴鏈灏辫繕娌″姞杞姐傛墍浠ワ紝鏄閮ㄥ厑璁稿湪闈欐佹柟娉曢噷闈㈣皟鐢ㄩ潪闈欐佹柟娉曠殑銆
鍙浠ュ湪闈欐佹柟娉曚腑锛岃幏寰楅潪闈欐佹柟娉曟墍鍦ㄧ殑绫荤殑瀵硅薄瀹炰緥銆
鍦ㄩ潤鎬佹柟娉曚腑锛岀敤杩欎釜瀹炰緥鍘昏皟鐢ㄩ潪闈欐佹柟娉曘
姣斿: A a = new A(); a.aaaaa();