autojs调⽤java识字_autojs实现抽象类的继承
作者: ⽛叔
抽象类的使用使⽤情景
在java中, 抽象类必须继承才能使⽤, 那么在autojs中怎样实现继承抽象类呢?
java中的实现
创建⼀个抽象类
package com.yashu;public abstract class Employee{ private String name; private String address; private int number; public abstract double computePay(Double pay);}
继承抽象类
package com.yashu;public class Salary extends Employee{ private double salary; // Annual salary public double computePay(Double pay) { System.out.println("Computing salary pay for " + "Lei Li"); return pay * 2; }}
测试代码
package com.yashu;public class ExtendsTest { public static void main(String[] args) { System.out.println("this is
com.yashu.ExtendsTest"); Salary s = new Salary(); Double d = sputePay(10.10); System.out.println(d); }}
上⾯没问题, 我测试过了, 我的测试环境,
⽣成dex
软件: idea
⽅法参照: 百度搜索github autojsUseDex
autojs中抽象类的继承
导⼊dex, 我⽤的是以autojs项⽬⽅式运⾏代码, main.js和extendstest.dex在同⼀个⽂件夹
let dexFilePath = files.join("./extendstest.dex");runtime.loadDex(dexFilePath);
导⼊抽象类Employee
importClass(com.yashu.Employee);
实例化Salary, 并调⽤抽象⽅法computePay
s = new Salary();d = sputePay(10.1);log(d);
实现继承抽象类的关键代码JavaAdapter, 第⼀个参数是抽象类, 第⼆个参数是抽象类⽅法的具体实现
function Salary() { let salary = new JavaAdapter(Employee, { computePay: function (pay) { log("Computing salary pay for " + "Lei Li"); return pay * 2; }, }); return salary;}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论