java中的几个概念的比较

1.方法的重载与覆写

No

比较点

重载

覆写

1

英文单词

OverLoad

Override

2

概念

     方法名称相同时,参数的类型不同

方法名称,参数的类型或个数完全相同

3

注意点

与函数的返回类型没有关系

访问权限不能变小

4

方法

在一个类里发生

在继承的类里发生


2.this与super的区别

NO

比较点

this

Super

1

属性

this属性表示的是本类中的属性,如果在子类中找不到属性则会从父类中继续查找

Super属性,表示直接找到父类中的属性

2

方法

this.方法()表示调用父类中的方法,如果找不到则从父类中查找

表示从子类直接找到父类中被子类覆写过的方法

3.

构造

可以调用本类中的其他构造方法,但是要求至少有一个构造方法是没有this

调用构造是,this要放在构造方法的首行

从子类中调用父类的构造方法,子类不管如何编写方法,则肯定要先调用父类的构造

要放在首行

4

特殊点

this表示当前对象

 


eg:设置一个动态数组,实现排序
class Array{
	private int temp[]=null;  //声明数组大小未知
	private int foot =0 ;  //用于保存下一个的记录点
	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[this.foot] =i;
			this.foot++;
			return true;
		}else{
			return false;
		}
	}
	public int[] getArray(){
		return this.temp;
	}
};
class SortArray extends Array{

	public SortArray(int len) {
		super(len);
		// TODO Auto-generated constructor stub
	}
	public int[] getArray(){
		java.util.Arrays.sort(super.getArray());
		return super.getArray();
	}
	
}
public class ArrayDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
       Array arr = new Array(6);
       System.out.println(arr.add(23));
       System.out.println(arr.add(3));
       System.out.println(arr.add(5));
       System.out.println(arr.add(7));
       System.out.println(arr.add(8));
       System.out.println(arr.add(9));
       print(arr.getArray());
	}
	public static void print(int[] i){
		for(int x=0; x<i.length;x++){
			System.out.print(i[x]+ ",");
		}
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值