Java abstract Keyword
Example
An abstract
method belongs to an abstract
class, and it does not have a body.
The body is provided by the subclass:
// Code from filename: Person.java
// abstract class
abstract class Person {
public String fname = "John";
public int age = 24;
public abstract void study(); // abstract method
}
// Subclass (inherit from Person)
class Student extends Person {
public int graduationYear = 2018;
public void study() { // the body of the abstract method is provided here
System.out.println("Studying all day long");
}
}
// End code from filename: Person.java
// Code from filename: MyClass.java
class MyClass {
public static void main(String[] args) {
// create an object of the Student class (which inherits attributes and methods from Person)
Student myObj = new Student();
System.out.println("Name: " + myObj.fname);
System.out.println("Age: " + myObj.age);
System.out.println("Graduation Year: " + myObj.graduationYear);
myObj.study(); // call abstract method
}
}
Definition and Usage
The abstract
keyword is a non-access modifier, used for classes and methods.
Class: An abstract class is a restricted class that cannot be used to create objects (to access it, it must be inherited from another class).
Method: An abstract method can only be used in an abstract class, and it does not have a body. The body is provided by the subclass (inherited from).
Related Pages
Read more about modifiers in our Java Modifiers Tutorial.