大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
看看下面这个例子,就会明白了:JAVA中继承可以实现代码复用,
创新互联是专业的芝罘网站建设公司,芝罘接单;提供成都做网站、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行芝罘网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
由于在父类中已经定义的方法,被子类继承以后,就可以使用,实现了代码的复用
class Father{
private int moneyDollar=300;
int moneyHK=200;
int add(int x,int y){
return x+y;
}
}
class Son extends Father{
int moneyRMB=800;
public void changMoneyHK(int x){
moneyHK=x;
}
public void changMoneyRMB(int x){
moneyRMB=x;
}
int subs(int x,int y){
return x-y;
}
}
class GrandSon extends Son{
int multi(int x,int y){
return x*y;
}
}
public class Example5_1{
public static void main(String args[]){
int a=5,b=3;
Son son=new Son();
GrandSon sunzi=new GrandSon();
son.changMoneyHK(666);
son.changMoneyRMB(5000);
System.out.println("儿子的港币是继承的属性,当前的值是:"+son.moneyHK);
System.out.println("儿子的人民币是新增的属性,当前的值是:"+son.moneyRMB);
System.out.printf("减法是儿子新增的功能,%d-%d等于%d\n",a,b,son.subs(a,b));
System.out.printf("加法是儿子继承的功能,%d+%d等于%d\n",a,b,son.add(a,b));
System.out.println("孙子的港币和人民币都是继承的属性,,当前的值是:");
System.out.println("港币:"+sunzi.moneyHK+" 人民币:"+sunzi.moneyRMB);
System.out.printf("乘法是孙子新增的功能,%d*%d等于%d\n",a,b,sunzi.multi(a,b));
System.out.printf("加法是孙子继承的功能,%d+%d等于%d\n",a,b,sunzi.add(a,b));
System.out.printf("减法是孙子继承的功能,%d-%d等于%d\n",a,b,sunzi.subs(a,b));
}
}
继承:同类事物具有共同性,在同类事物中,每个事物又具有其特殊性。运用抽象的原则舍弃对象的特殊性,抽取其共同性,则得到一个适应于一批对象的类,这便是基类(父类),而把具有特殊性的类称为派生类(子类),派生类的对象拥有其基类的全部或部分属性与方法,称作派生类对基类的继承。
代码复用:在OO编程中,在继承 多台等机制下 利用已有的代码完成新的程序
如果你用的是eclipse可以用快捷键来抽取方法的,就是选中重复的代码,然后按alt+shift+m,就解决你的代码重复问题。
去掉泛型直接复用就行了。代码貌似有问题
public Kmodel execute(){
ListKmodellist = gethandle();
return list;
}
方法返回的是一个list返回的类型 不是Kmodel或Qmodel
应该是这样吧
public ListKmodel execute(){
ListKmodel list = gethandle();
return list;
}
想复用的话就 去掉泛型应该就能用了。不过取list的元素时需要强制转换类型。
public List execute(){
List list = gethandle();
return list;
}
建议你看一下 thinking in pattern ,这里面有较详细的说明。 说明对象的使用,以及对象持久化、代码复用。 其实简单理解重用就是说:当一个操作会在其他几个操作中都会使用到的时候, 你就可以把这个操作提取出来,写一个公用的方法,供其他方法使用就是了。
是,把要复用的代码封装在一个独立的类中,其他类只要引用一下这个类就可以复用代码了。