scala 调用java通过父类调用子类方法实现

2019-05-30  本文已影响0人  daley_磊

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)
  }
}
上一篇 下一篇

猜你喜欢

热点阅读