JavaSE:方法重载和重写

343 阅读1分钟

重载

public class TestDemo {
	//重载发生在同一个类中,具有多态性
	//构造方法就是常见的方法重载
	
/*	1.方法名相同;
	2.参数列表不同(参数类型、个数、顺序至少有一个不同)
	3.可相同/不相同(返回类型/访问修饰符)*/
	          
	/**
	 *  1-3过程体现参数个数不同
	 */
	public void sayHi(){}  //1
	
	public void sayHi(int age){} //2
	
	public void sayHi(int age,int height){} //3  
	
	/**
	 * 3-4体现参数类型不同
	 */
	
	
	/**
	 * 4-5参数类型顺序不同
	 */
	
	public void sayHi(int age,String height){} //4
	
	public void sayHi(String height,int age){}  //5
	
	
	/**
	 * 可相同/不相同(返回类型/访问修饰符)
	 */
	public String sayName(){
		return null;
	}
	
	private int sayName(int name){
		return 0;
	}
}

重写

//重写其实也是多态的一种表现
//父类Animal
public class Animal {
	public void eat(){
		System.out.println("动物吃东西");
	}
}

//子类Dog
public class Dog extends Animal{
    //重写了父类Animal的eat的方法
	public void eat(){
		System.out.println("狗吃狗粮");
	}
	
	public static void main(String[] args) {
		Dog dog = new Dog();
		dog.eat();
	}
}

重载和重写的区别?