
正文
java实现代码复用 java写时复制技术
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Java中是如何通过继承实现代码重用的?
//这个是包名,具体包的划分以及继承类包的层次请参阅JAVA方面的书籍
//在这个例子里面 类A 和类B 是在同一个包下
//package a;
//A类java实现代码复用,这个类是 父类
public class A {
//a 是A类的私有属性
private String a = "我是a";
//b 是可以被继承的属性
public String b = "我是b";
//该方法可以被继承
//虽然 属性a 不能被继承java实现代码复用,
//但是可以通过构造公有方法来实现对属性 a 的调用
public String getA(){//获取属性a的值
return a;
}
//该方法可以被继承
//虽然 属性a 不能被继承java实现代码复用,
//但是可以通过构造公有方法来实现对属性 a 的调用
public void setA(String aa){//对属性a进行设置
a = aa;
}
//该方法可以被继承
public String getB(){//获取属性b的值
return b;
}
//该方法可以被继承
public void setB(String bb){//对属性b进行设置
b = bb;
}
}
//---------------------------我是分类符------------------------
//package a;
//B 类,这个类是 A 类的子类(继承类)
public class B extends A {
//B类是新建立的类,最好不要写在和A类同一个java文件下
//由于 B 类继承java实现代码复用了A类,
//所以 A 类注明的公有方法可以不用写在 B 类中
//只需要声明并实例化 B 的对象就可以调用 A 类中的公有方法
//B 类 中也可以书写 A类中没有的方法以达到B类所需要达到的目的
//其他访问权限修饰符在这里先不做解释(protected等)
//属性c 是 A 类中没有的
String c = "我是B类中的c";
//该方法A类中没有,只能通过声明并实例化B类的对象才能调用
public String getC (){
return c;
}
//该方法A类中没有,只能通过声明并实例化B类的对象才能调用
public void setC(String cc){
c = cc;
}
//main方法
public static void main(String[] args) {
B b = new B();
//String a1 = b.a;//这个就是错误的,因为a是A类的私有变量,不能被继承
String b1 = b.b;//这个就可以
String b_a = b.getA();//也可以调用
String b_b = b.getB();//也可以调用
System.out.println("a 的值 = " + b_a);
System.out.println("b 的值 = " + b_b);
b.setA("修改a");//设置a 的值
System.out.println("修改过后的 a 的值 = " +
b.getA());
b.setB("修改b");//设置b 的值
System.out.println("修改过后的 b 的值 = " +
b.getB());
String b_c = b.c;//设置c 的值
System.out.println("B类中c的值"+b_c);
b.setC("修改c");
System.out.println("修改过后的 c = " + b.getC());
}
}
相关问答
Q1: java中的复用类是什么意思
代码复用能够大大简化java实现代码复用我们java实现代码复用的工作。面向对象的语言中一般是通过对类的重复使用来达到代码复用的目的的,Java也不例外。在Java中,复用类有两种方式,合成(has-a)与继承(is-a)。合成就是在新的类中直接创建旧类的对象,这里我们复用的只是代码的功能而不是它的形式。而继承是在原有的类的基础上建立一个新类,新类具有旧类的形式,但也加入java实现代码复用了一些新的特性。这一章介绍的主要就是合成与继承方面的知识。 一、合成所使用的语法 合成的语法很简单,只要把要复用的类的对象的引用直接放到新类里就可以java实现代码复用了。当然仅仅这样还是不够的,我们还要创建这个类的对象让那个引用来指向它。因为Java不会帮我们自动创建一个缺省的对象,它只会自动替我们把字段中的引用初始化为null。为引用赋值可以在三个地方,一个就是在定义这个引用的时候,另一个是在构造函数中,第三个地方就是在即将要使用这个对象之前。为了防止忘记在使用前为引用赋值,我们一般应该在前两种场合来创建对象。如果我们要创建的这个对象会花费很大开销,而且又可能不是每次都需要创建它的话,我们可以考虑第三种方式来创建这个对象。 二、继承所使用的语法 继承是Java中的重要部分,因为Java是使用单根体系的(C++不是这样,因为它要保持向C的兼容),所以我们定义的每一个类都是继承自Java中的根类Object类。在定义一个继承自已有的类的类时,要使用extends关键字,其后跟上基类的名字,这样表示新定义的这个类是继承自那个基类。在Java中不允许多重继承(C++中允许),也就是说它不允许一个类拥有多于一个的基类,这点劣势可以用接口来弥补,因为Java允许一个类实现任意多个接口。 一个子类会自动获得基类中的全部字段与方法(那些由访问控制符控制的对子类而言不可见的成员也会获得,只是不可见,用不了),这也就是对基类中代码的复用。除了自动获得自基类的代码外,子类中还可定义新的成员,也可以覆写基类中的方法(所谓覆写指的是方法的声明部分一样但实现不一样),这样可以让相同签名的方法拥有不一样的形为。 因为子类自动拥有了基类的成员,因此在子类中自然就可以调用基类的方法。如果这个方法在子类中被覆写过,那编译器知道你是要调用哪个方法呢java实现代码复用?Java提供了super关键字在类中表示该类的基类的引用,我们可以通过这个关键字来明确表示我们要用到的是基类中的成员。如果不写super的话,那编译器将会理解为嵌套调用。 这里有个题外话。在Java程序中常常是用public类中的main()方法做为整个程序的入口。这样的静态main()方法并不是非得要在public类中才能出现的,静态的main()方法可以做所有类的入口(但只能是main(),而不能是其它名字的什么静态方法)。比如一个程序有多个class组成,我们要对其中的某个class进行单元测试时,我们就可以在这个class文件中加入main(),编译后生成这个类的.class文件,在控制台通过java来运行它就是了。 子类继承了一个基类后便拥有了基类中的成员,也就可以通过创建的子类对象来访问基类中可见的成员。Java是怎样做到这一点的呢?在我们创建一个子类对象的时候,这里创建的已经不是一个类的对象了,它还会创建这个类的基类的对象,这个基类的对象创建后被包括在子类的对象中。也就是说创建的子类的对象拥有其基类全部的成员(从这就可以知道为什么可以上传),但是子类对象只能访问基类中它可见的成员。那么在创建一个这样的对象时,子类和基类对象创建的顺序是怎么样的呢?为了能够正确的初始化基类,一般会调用基类的构造函数来进行初始化。Java中在调用子类的构造函数时首先会自动的调用基类的构造函数,并且这样的过程是层层传递的。比如C继承了B,而B又继承了A,在创建C的对象时,C的构造函数会首先调用B的构造函数,这时B的构造函数又会首先调用A的构造函数。(如果基类中没有默认构造函数,编译时就会报错。)但是这里自动调用的都是基类的默认构造函数(无参的),如果我们想调用基类的某个带参数的构造函数又该怎么办呢?上面提到可以用super来代替基类的引用,与在构造函数中通过this调用本类其它构造函数的形式一样,我们可以通过super来调用基类带参数的构造函数,比如“super(i, j)”。
Q2: Java仅仅有一个参数不一致,如何提高代码复用性
如果你用的是eclipse可以用快捷键来抽取方法的,就是选中重复的代码,然后按alt+shift+m,就解决你的代码重复问题。
Q3: java在如下情况怎么实现代码的复用
去掉泛型直接复用就行java实现代码复用了。代码貌似有问题
public Kmodel execute(){
ListKmodellist = gethandle();
return list;
}
方法返回的是一个list返回的类型 不是Kmodel或Qmodel
应该是这样吧
public ListKmodel execute(){
ListKmodel list = gethandle();
return list;
}
想复用的话就 去掉泛型应该就能用java实现代码复用了。不过取list的元素时需要强制转换类型。
public List execute(){
List list = gethandle();
return list;
}
Q4: java中简述 继承 代码复用
继承:同类事物具有共同性java实现代码复用,在同类事物中,每个事物又具有其特殊性。运用抽象java实现代码复用的原则舍弃对象java实现代码复用的特殊性,抽取其共同性,则得到一个适应于一批对象的类,这便是基类(父类),而把具有特殊性的类称为派生类(子类),派生类的对象拥有其基类的全部或部分属性与方法,称作派生类对基类的继承。
代码复用:在OO编程中,在继承 多台等机制下 利用已有的代码完成新的程序
java实现代码复用的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java写时复制技术、java实现代码复用的信息别忘了在本站进行查找喔。






