程序如下面所示,在下面两个 ReverseArray 与SortArray 子类通过super.getArray()使用Array父类的数组时,无法有效的调用到父类中的数组,运行结果全部为0,如图import java.util.*;public class ArrayDemo {
public static void main( String[] args ) {
Array array = new Array( 6 );
array.add( 1 );
array.add( 2 );
array.add( 3 );
array.add( 4 );
array.add( 6 );
array.add( 5 );
System.out.print("原数组的结果:");
System.out.println(Arrays.toString( array.getArray() )); ReverseArray rese = new ReverseArray( 6 );
System.out.print(Arrays.toString( rese.getArray() ));
System.out.println("————————反转数组的结果"); SortArray sort = new SortArray( 6 );
System.out.print(Arrays.toString( sort.getArray() ));
System.out.print("————————排序数组的结果");
}
}class Array {
private int temp[];
private int foot;
public Array ( int len ) {
if ( len > 0 ) {
this.temp = new int[ len ];
} else {
this.temp = new int[ 1 ];
}
}
public boolean add ( int i ) {
if ( this.foot < this.temp.length ) {
this.temp[ foot ] = i;
foot++;
return true;
}else {
return false;
}
}
public int[] getArray() {
return this.temp;
}
}class ReverseArray extends Array{
public ReverseArray ( int len ) {
super(len);
}
public int[] getArray() {
System.out.print("父类数组传递到本反转类的结果:");
System.out.println(Arrays.toString( super.getArray() ));
int[] reverseArray = new int[ super.getArray().length ];
int count = reverseArray.length -1;
for ( int ix = 0; ix < reverseArray.length; ix++ ) {
reverseArray[ count ] = super.getArray()[ix];
count --;
}
return reverseArray;
}
}class SortArray extends Array{
int num;
public SortArray ( int len ) {
super(len);
}
public int[] getArray() {
System.out.print("父类数组传递到本排序类的结果:");
System.out.println(Arrays.toString( super.getArray() ));
for ( int m = 0; m < super.getArray().length; m ++ ) {
for ( int j = m;j < super.getArray().length; j ++ ) {
if ( super.getArray()[j] < super.getArray()[m] ) {
num = super.getArray()[ m ];
super.getArray()[ m ] = super.getArray()[ j ];
super.getArray()[ j ] = num;
}
}
}
return super.getArray();
}
}
public static void main( String[] args ) {
Array array = new Array( 6 );
array.add( 1 );
array.add( 2 );
array.add( 3 );
array.add( 4 );
array.add( 6 );
array.add( 5 );
System.out.print("原数组的结果:");
System.out.println(Arrays.toString( array.getArray() )); ReverseArray rese = new ReverseArray( 6 );
System.out.print(Arrays.toString( rese.getArray() ));
System.out.println("————————反转数组的结果"); SortArray sort = new SortArray( 6 );
System.out.print(Arrays.toString( sort.getArray() ));
System.out.print("————————排序数组的结果");
}
}class Array {
private int temp[];
private int foot;
public Array ( int len ) {
if ( len > 0 ) {
this.temp = new int[ len ];
} else {
this.temp = new int[ 1 ];
}
}
public boolean add ( int i ) {
if ( this.foot < this.temp.length ) {
this.temp[ foot ] = i;
foot++;
return true;
}else {
return false;
}
}
public int[] getArray() {
return this.temp;
}
}class ReverseArray extends Array{
public ReverseArray ( int len ) {
super(len);
}
public int[] getArray() {
System.out.print("父类数组传递到本反转类的结果:");
System.out.println(Arrays.toString( super.getArray() ));
int[] reverseArray = new int[ super.getArray().length ];
int count = reverseArray.length -1;
for ( int ix = 0; ix < reverseArray.length; ix++ ) {
reverseArray[ count ] = super.getArray()[ix];
count --;
}
return reverseArray;
}
}class SortArray extends Array{
int num;
public SortArray ( int len ) {
super(len);
}
public int[] getArray() {
System.out.print("父类数组传递到本排序类的结果:");
System.out.println(Arrays.toString( super.getArray() ));
for ( int m = 0; m < super.getArray().length; m ++ ) {
for ( int j = m;j < super.getArray().length; j ++ ) {
if ( super.getArray()[j] < super.getArray()[m] ) {
num = super.getArray()[ m ];
super.getArray()[ m ] = super.getArray()[ j ];
super.getArray()[ j ] = num;
}
}
}
return super.getArray();
}
}
解决方案 »
- jquery提交时,在服务器端执行查询时只执行了一部分就中断了
- tomcat一闪而过!命令行提示CATALINA_HOME设置错误什么的!
- jacob 操作word文档问题,在线等候!
- tomcat启动错,大虾们望望!!!
- 如何将sql2005中varbinary(MAX)保存的文件读取到硬盘下
- 关于tinymce的问题,大家帮忙啊!!很急
- 给个decorators_websphere 的例子 谢谢
- hibernate+spring的问题
- 各位帮忙看看,关于hibernate
- 100分急!怎么判断struts中的FormFile为空?
- redis统一异常处理,通过继承CachingConfigurerSupport覆写errorHandler()
- Java 错误the declared package dones not match the expected package ""
也就是说 父类原有属性跟方法能够被子类继承,但是 new 出来的父类对象 重新对此对象的属性做的改变不会被子类对象继承。