淘先锋技术网

首页 1 2 3 4 5 6 7

Java是一种强类型语言,对于同一个对象,在不同的情况下可以表现出不同的行为,这就是Java的多态特性。Java的多态是通过继承和接口实现的。

重写是指子类覆盖父类的同名方法,实现子类自己的方法,但必须保持方法的参数列表、方法名和返回值类型都与父类方法相同。重写可以让基类中的方法对子类进行实现,可以根据情况修改行为。如果重写方法被封闭,则必须标记为“final”。

//代码示例
public class Animal {
public void move() {
System.out.println("动物可以移动");
}
}
public class Dog extends Animal {
public void move() {
System.out.println("狗可以跑和走");
}
public void bark() {
System.out.println("狗可以吠叫");
}
}
public class TestDog {
public static void main(String args[]) {
Animal a = new Animal(); // Animal 对象
Animal b = new Dog(); // Dog 对象
a.move();// 执行 Animal类的方法
b.move();//执行 Dog 类的方法
((Dog) b).bark(); // 执行 Dog 类的方法
}
}

重载是指在一个类中定义多个同名函数,但是函数参数列表不同。在重载过程中,编译器会根据传递给函数的参数数量和类型选择正确的函数。不同的重载函数可以用参数类型、参数数量和参数顺序等不同属性来区分。调用时编译器会根据函数参数类型选出相应的函数,方法重载必须要求参数类型不同、参数数量不同或者顺序不同。

//代码示例
public class Calculate {
public int sum(int a, int b) {
return a + b;
}
public int sum(int a, int b, int c) {
return a + b + c;
}
public double sum(double a, double b) {
return a + b;
}
}
public class TestCalculate {
public static void main(String[] args) {
Calculate cal = new Calculate();
int sum1 = cal.sum(1, 2);
int sum2 = cal.sum(3, 4, 5);
double sum3 = cal.sum(1.5, 2.7);
System.out.println("sum1结果:" + sum1);
System.out.println("sum2结果:" + sum2);
System.out.println("sum3结果:" + sum3);
}
}

总结:Java的多态、重写和重载是Java语言面向对象编程中的一些基础的知识点。多态是Java一个强大的特性,让我们可以在不同的对象中调用不同的方法。重写和重载可以让类中的方法更灵活地适应不同的需求,从而提高代码效率和灵活性。