Java是一种面向对象的编程语言,抽象和多态是Java中重要的概念。
在Java中,抽象可以通过抽象类和接口实现。抽象类是一个不能被实例化的类,它定义了一个或多个抽象方法,抽象方法没有实现代码,需要被子类重写。抽象类可以有非抽象方法,这些方法可以被子类继承,不需要被重写。接口也是一种抽象,它是一个特殊的抽象类,所有方法都是抽象方法,不能有实现代码。类实现接口时必须实现所有方法。
public abstract class Animal {
public abstract void sound();
}
public class Dog extends Animal {
@Override
public void sound() {
System.out.println("汪汪汪");
}
}
多态是Java中另一个重要的概念。多态是指一个对象可以用多种方式来引用,可以实现不同的行为。多态是面向对象编程的一个重要特性,可以编写出高度可扩展和灵活的代码。
多态实现的方式包括继承和接口实现。如果一个类继承了另一个类或者实现了一个接口,它就可以被用作父类或者接口的引用类型。
public interface Shape {
void draw();
}
public class Circle implements Shape {
@Override
public void draw() {
System.out.println("画圆形");
}
}
public class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("画矩形");
}
}
public class Draw {
public static void drawShape(Shape shape) {
shape.draw();
}
}
public static void main(String[] args) {
Shape circle = new Circle();
Shape rectangle = new Rectangle();
Draw.drawShape(circle);
Draw.drawShape(rectangle);
}
上述代码演示了多态的实现,通过Shape接口将Circle和Rectangle两个类引用,通过Draw.drawShape方法调用不同类的draw方法实现不同的行为。