当前位置: 代码迷 >> Java相关 >> 重写,重构,重载的区别?
  详细解决方案

重写,重构,重载的区别?

热度:247   发布时间:2006-09-03 17:01:44.0
重写,重构,重载的区别?

如题~

望高手指教,有一点小晕

搜索更多相关的解决方案: 重写  重构  重载  

----------------解决方案--------------------------------------------------------
那个谁谁谁来说一下
----------------解决方案--------------------------------------------------------

呵呵,斑竹发话了哦~~~


----------------解决方案--------------------------------------------------------
汗,还是没人
----------------解决方案--------------------------------------------------------
public class Human {

public void makeLove(){
System.out.println("人类要做爱");
}

public void eat(){
System.out.println("人类要吃饭");
}

public void eat(String food){
System.out.println("人类吃 "+food);
}

}
public class Student extends Human {

public void makeLove(){
System.out.println("学生不允许做爱");
}

public static void main(String[] args){

Student student = new Student();
student.makeLove();//Human类的makeLove方法被Student类重写了
Human human = new Human();
human.makeLove();//Human类没有被重写的makeLove方法应该是输出这个

System.out.println("///////////////////////////");

human.eat();//方法重载
human.eat("大便");//方法重载

}

}



重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

[此贴子已经被作者于2006-9-3 19:24:20编辑过]


----------------解决方案--------------------------------------------------------
那个谁谁谁说的不错
呵呵

----------------解决方案--------------------------------------------------------

重载是函数名相同,但参数列表不同;
而重写也就是覆盖,是子类的函数覆盖住父类的同名函数!


----------------解决方案--------------------------------------------------------

哦~~~~~

重写是覆盖父类函数,重载是函数名相同,参数不同,重构就是内联啊之类的东西?


----------------解决方案--------------------------------------------------------
重写就是必需要有继承!是子类继承父类方法名也必需相同,参数也要必需相同!而重载是在一个类中,参数、个数、类型必需有一个不相同的@!不是很全面,希望楼下继续补充!
----------------解决方案--------------------------------------------------------

package Example908;

public class Shape {

/**
*苦中乐,2006-09-07 应用了OOP中多态的特征
* 实现方法的覆写
*/
void draw(){
System.out.println("draw Shape");

}
void erase(){
System.out.println("erase Shape");
}
public static void main(String[] args) {
// 向上转型的特性
Shape circle=new Circle();
circle.draw();
circle.erase();
}

}
class Circle extends Shape{
void draw(){
System.out.println("draw Circle");
}
void erase(){
System.out.println("earse Circle");
}
}


----------------解决方案--------------------------------------------------------
  相关解决方案