Java 抽象
java中的抽象类和抽象方法
1. 抽象方法: 一个类中的方法用 abstract 进行了修饰,该方法被称为抽象方法,抽象方法没有方法体。抽象方法所在的类必须是抽象类,用abstract 修饰。
使用关键字abstract声明抽象方法,一般语法:
[访问权限] abstract 返回值类型 方法名称(参数列表);
如:
public abstract void draw();
**2.**抽象类:含有抽象方法的类就叫抽象类。
定义抽象类同样使用关键字abstract,一般语法:
[访问权限] abstract class 类名 {
成员列表
}
如:
public abstract class Shapes {
public abstract void draw();
}
3. 抽象类的意义
在抽象类中已经实现的方法可以被其子类使用,使代码可以被复用。同时,提供了抽象的方法,保证了子类具有自身的独特性。
4. 抽象的局限性
若多个子类,有同样的方法,但表现形式不同。那就在父类中定义一个抽象方法,子类中进行重写。但那会造成代码的冗余。
具体事例:
abstract class Shapes { //基本形状类,抽象类
public abstract void draw(); //绘图方法,抽象方法
}
class Circle extends Shapes { //圆形类继承于基本形状类
public void draw() { //实现抽象父类的抽象绘图方法
System.out.println("绘制了一个圆形。");
}
}
class Square extends Shapes { //正方形类继承与基本形状类
public void draw() { //实现抽象父类的抽象绘图方法
System.out.println("绘制了一个正方形。");
}
}
public class abstractDemo { //该类用于容纳main方法
public static void main(String[] args) {
Shapes obj;
obj = new Circle(); //父类的引用指向子类的实例
obj.draw(); //调用绘图方法
obj = new Square(); //父类的引用指向子类的实例
obj.draw(); //调用绘图方法
}