scala 调用java通过父类调用子类方法实现
java 父类 A
抽象类:
package com.dailei;
public abstract class A {
public abstract String fly(String param);
}
java 子类 B
继承A类,并实现A类方法 :
package com.dailei;
public class B extends A{
public String fly(String param){
System.out.println("B 类呗调用,parma=《"+param+"》");
return param;
}
}
java 实现调用方法 MyJavaClass
:
package com.dailei;
public class MyJavaClass {
public void getSubclassFunRes( String action) {
try {
//模拟控制器接收到的请求类的url>scala目录下相对路径
//String action= "com.dailei.B";
Class clazz = Class.forName(action);
A obj = (A)clazz.newInstance();
//接口必填参数
//调用接口的具体执行方法,并返回值
String res = obj.fly("asd");
System.out.println(res);
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
scala 调用java实现类 InvokeJavaClass
:
package com.dailei
object InvokeJavaClass {
def main(args: Array[String]): Unit = {
val javaClass2 = new MyJavaClass()
String action= "com.dailei.B";
javaClass2.getSubclassFunRes(action)
}
}
网友评论