java 覆写_Java 继承与覆写功能的实现

Java 继承与覆写功能的实现

下面这个代码,首先满足以下几个条件:

绝对不改变客户端已有的使用方法。

子类为了要维持方法功能的持续完善,所以必须要根据实际情况进行父类方法的覆写

要求定义一个数组操作类(Array类),在这个类里面,可以进行整型数组的操作,由外部传入数组的大小,并要求实现数据保存,以及数据的输出,随后在这个类上要求派生出一个子类:

排序类:通过此类取得数据可以排序,代码如下:

(使用方法:将代码用记事本保存,名字为TestDemo.java,切记修改后缀为 *.java 的文件,win+R输入cmd,再里面找到你存放TestDemo.java的文件夹,假如你把TestDemo.java文件放到了F盘中的testdemo的文件夹里面,在cmd中输入 F: 点击确定,你进入F盘,再输入 cd testdemo 再点击确定,你就进入testdemo文件夹里面,需要先编译,再执行哟!!!)

class Array {

private int data[] ; //定义一个数组

private int foot ; //表示数组的操作脚标

public Array(int len) { //构造本类对象时,需要比较大小。

if (len > 0) { //至少有元素

this.data = new int [len] ; //开闭一个新的数组

}else{

this.data = new int[1] ; //位置一个元素的大小

}

}

public boolean add(int num) {

if (this.foot < this.data.length) { //有空间保存

this.data[this.foot ++] = num ;

return true ; //保存成功

}

return false ; //保存失败

}

public int [] getData() {

return this.data ; //取得所有的数组内容

}

}

//定义一个排序数组的子类

class SortArray extends Array {

//Array类里面现在没有无参构造方法

public SortArray(int len) {

//这样父类中的数组就可以初始化

super(len) ; // 明确调用父类的有参构造

}

//因为父类中getData() 方法不够当前类使用的,但是又需要保留这个方法名称

//所以要使用覆写的概念来将此方法扩充

public int [] getData() {

java.util.Arrays.sort(super.getData()) ; //排序

return super.getData() ;

}

}

public class TestDemo{

public static void main(String args[]){

SortArray arr = new SortArray(3) ;

System.out.println(arr.add(10)) ;

System.out.println(arr.add(2)) ;

System.out.println(arr.add(29)) ;

System.out.println(arr.add(100)) ;

System.out.println(arr.add(200)) ;

int [] temp = arr.getData() ;

for (int x = 0;x < temp.length ;x ++ ) {

System.out.println(temp[x]) ;

}

}

}

总结:在代码的开发中,继承和覆写的功能经常出现,也是很重要的,只有在父类功能足够完善的情况下,子类再对其进行继承和覆写,效果才是最好的!

子类的功能就是根据特殊情况,进行父类功能的扩充。

子类扩充方法的时候尽量以父类定义的方法名称为主,可以根据实际情况进行方法的覆写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值