为SCJP认证考试而努力-4

    写博客这几天终于有朋友回帖了,心里高兴。下面学习默认的构造方法、方法的重载和覆写,以下代码可以直接在MyEclipse中运行,到最后我会把中间写的所有代码打包放出来,敬请关注。
package operation;
class ConsBase {
	ConsBase(int i) {
		System.out.println("single int constructor");
	}
	/**
	 * 如果你没有显式定义任何构造方法,编译器会插入一个“后台”的不可见的无参数的构造方法。
	 * 如果你自己创建了构造方法,Java	就不支持默认的无参数的构造方法了。
	 * 可以通过在Base 类中创建一个“什么都不干”的零参数构造方法来修复这个错误。
	 */
	ConsBase() {// 构造器有和类同样的名字并且没有返回值
		System.out.println("ConsBase");
		// 当类的实例被创建时打印字符串“ConsBase”:
	}
	public void aBaseMethod(){
		System.out.println("Base.amethod");
	}
}
/**
 * @author 木炭
 * 程序最后输出:ConsBase 换行 Cons
 */
public class Cons extends ConsBase {
	/**
	 * @param args
	 */
	public static void main(String args[]) {
		// ConsBase c = new ConsBase();
		Cons s = new Cons();
	}
	Cons() {
		System.out.println("Cons");
	}
	
	/**
	 * @param iOver
	 * 如果一个类中的两个或者多个方法有同样的名字,就被称为方法重载。
	 * 你可以在一个类中有两个同样名字的方法,但是他们必须有不同的参数类型和顺序。
	 * 返回值的类型不能帮助区分两个方法。下面第二个参数相同的方法将导致编译时错误。
	 */
	public void amethod(int iOver){
	System.out.println("Cons.amethod");
	}
/*	public int amethod(int iOver){
	System.out.println("Cons int return method");
	return 0;
	}*/
	//正确的重构
	public int amethod(String iOver){
		System.out.println("Cons int return method");
		return 0;
	}
	//你可以在一个子类中重载一个方法,所需要的就是新方法有不同的参数顺序和类型。
	//static 方法不能被重写。
	public void aBaseMethod(){
		System.out.println("重写aBaseMethod成功");
	}
	
}

你可能感兴趣的:(考试,职场,认证,scjp,休闲)