本文主要是介绍第一百零九节 Java面向对象设计 - Java抽象类和方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Java面向对象设计 - Java抽象类和方法
Java可以定义一个类,其对象不能被创建。
它的目的只是表示一个想法,这是其他类的对象共有的。
这样的类称为抽象类。
语法
我们需要在类声明中使用 abstract
关键字来声明一个抽象类。
例如,下面的代码声明一个Shape类的抽象:
public abstract class Shape {}
下面的代码为Shape类添加了一个draw()方法。
public abstract class Shape {public Shape() {}public abstract void draw(); }
抽象类不一定意味着它具有至少一个抽象方法。
如果一个类有一个被声明或继承的抽象方法,它必须被声明为抽象。
抽象方法的声明方式与任何其他方法相同,只是它的主体由分号表示。
例子
下面的Shape类有抽象和非抽象方法。
abstract class Shape {private String name;public Shape() {this.name = "Unknown shape";}public Shape(String name) {this.name = name;}public String getName() {return this.name;}public void setName(String name) {this.name = name;}// Abstract methodspublic abstract void draw();public abstract double getArea();public abstract double getPerimeter(); }
下面的代码展示了如何创建一个Rectangle类,它继承自Shape类。
class Rectangle extends Shape {private double width;private double height;public Rectangle(double width, double height) {// Set the shape name as "Rectangle"super("Rectangle");this.width = width;this.height = height;}// Provide an implementation for inherited abstract draw() methodpublic void draw() {System.out.println("Drawing a rectangle...");}// Provide an implementation for inherited abstract getArea() methodpublic double getArea() {return width * height;}// Provide an implementation for inherited abstract getPerimeter() methodpublic double getPerimeter() {return 2.0 * (width + height);} }
这篇关于第一百零九节 Java面向对象设计 - Java抽象类和方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!