关于接口类? 我希望是这样,A类某个方法中的后半部分代码是可变的,可以由B类来填充,也可以由C类,甚至D类来填充!请问怎么实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那你这样class a{ void metrod1(){ ... new interface b; b.metrod2(); }}a未实现的代码部分由b实现,b是一个接口,派生出类c,d,e,于是b的metrod2的内容就由你的接口实例化时构建的子类决定 public abstract class Demo{ public void method() { //固定的代码 } abstract public void method1() ;}然后B 、C 类就继承这个类,然后就可以实现你的目的了吧。。 class B implements Test1class C implements Test1class D implements Test1class A{ public void myfunction(Test1 test){ }}这样就可以了 按照楼主说的应该是一个Template Method模式。abstract class Template { public void runAlgorithm() { ...... method1(); ...... method2(); ...... } public abstract method1(); public abstract method2();}class A1 extends Template { public method1() { ... } public method2() { ... }}class A2 extends Template { public method1() { ... } public method2() { ... }}class A3 extends Template { public method1() { ... } public method2() { ... }}使用时Template t = new A1();t.runAlgorithm(); 当然也可以使用strategy模式interface Strategy { void method1(); void method2();}class T { private Strategy s; public T(Strategy s) { this.s = s; } public void runAlgorithm() { ... s.method1(); ... s.method2(); ... }}class A1 implements Strategy { public void method1() { ... } public void method2() { ... }}class A2 implements Strategy { public void method1() { ... } public void method2() { ... }}class A3 implements Strategy { public void method1() { ... } public void method2() { ... }}使用时T = new T(new A3);t.runAlgorithm(); 求助:JApplet,JFrame,JPane的问题。 一简单程序 ★★★★JaVa 选择题★★★★ 在linux,如何像tomcat的startup.sh 一样没有命令行输出。。。。。 请问:登录CSDN后,怎么查看自己发的贴子? 关于collection中的转换字符串问题 求救: jdbc 对结果重新排序的效率问题 动态加载 ClassLoad 的疑问,各位大虾帮帮忙? 从文件里如何提取字符串!!!急,在线等待~!! java中键盘输入的编解码问题 java程序中对文件操作时,用到的CreateFile.exe是什么东东?人做的还是机器所为? 求代码解答!
class a{
void metrod1(){
...
new interface b;
b.metrod2();
}
}a未实现的代码部分由b实现,b是一个接口,派生出类c,d,e,于是b的metrod2的内容就由你的接口实例化时构建的子类决定
{
public void method()
{
//固定的代码
}
abstract public void method1() ;
}然后B 、C 类就继承这个类,然后就可以实现你的目的了吧。。
class C implements Test1
class D implements Test1class A{
public void myfunction(Test1 test){
}
}
这样就可以了
abstract class Template {
public void runAlgorithm() {
......
method1();
......
method2();
......
} public abstract method1();
public abstract method2();
}
class A1 extends Template {
public method1() { ... }
public method2() { ... }
}class A2 extends Template {
public method1() { ... }
public method2() { ... }
}class A3 extends Template {
public method1() { ... }
public method2() { ... }
}使用时
Template t = new A1();
t.runAlgorithm();
interface Strategy {
void method1();
void method2();
}class T {
private Strategy s; public T(Strategy s) {
this.s = s;
} public void runAlgorithm() {
...
s.method1();
...
s.method2();
...
}
}class A1 implements Strategy {
public void method1() { ... }
public void method2() { ... }
}class A2 implements Strategy {
public void method1() { ... }
public void method2() { ... }
}class A3 implements Strategy {
public void method1() { ... }
public void method2() { ... }
}使用时
T = new T(new A3);
t.runAlgorithm();