search
HomeJavaJavagetting StartedDetailed introduction to java abstract classes

Detailed introduction to java abstract classes

Jul 18, 2020 pm 05:12 PM
javaabstract class

Detailed introduction to java abstract classes

1. Distinguish between ordinary methods and abstract methods

(Recommended tutorial: java introductory tutorial)

In java, When a class method is modified by the abstract keyword, the method is called an abstract method, and the class in which the abstract method is located must be defined as an abstract class. When a method is defined as an abstract method, it means that the method will not have a specific implementation, but will be implemented through method overriding in a subclass of the abstract class.

2. The syntax format for defining abstract methods:

[访问修饰符]abstract<返回类型><方法名>([参数列表])

abstract keyword indicates that the method is defined as an abstract method.

3. Comparison between ordinary methods and abstract methods

Abstract methods need to be modified with the abstract keyword, but ordinary methods do not;

Ordinary methods have method bodies, but abstract methods do not method body.

4. Distinguish between ordinary classes and abstract classes

In Java, when a class is modified by abstract, the class is called an abstract class.

5. The difference between ordinary classes and abstract classes

Abstract classes need to be modified with the abstract keyword, but ordinary classes do not;

Ordinary classes can be instantiated, but abstract classes cannot be instantiated.

6. Code example:

Parent class

package demo.chongwu;

public abstract class Pet {
    private String name = "无名氏";
    private int health =100;
    private int love =0;
    //有参构造方法
    public  Pet (String name){
        this.name =name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getHealth() {
        return health;
    }

    public void setHealth(int health) {
        this.health = health;
    }

    public int getLove() {
        return love;
    }

    public void setLove(int love) {
        this.love = love;
    }

    //抽象方法,输出宠物信息
    public abstract void print();

}

Subclass

package demo.chongwu;

public class Dog  extends Pet{
    private String strain;

    public Dog(String name, String strain) {
        super(name);
        this.strain = strain;
    }

    public String getStrain() {
        return strain;
    }

    public void setStrain(String strain) {
        this.strain = strain;
    }

    @Override
    public void print() {
        System.out.println("我的名字是"+this.getName()+"我是一只"+this.strain+".");
    }
}

Test:

package demo.chongwu;

public class Test {
    public static void main(String[] args) {
        Pet pet =new Dog("布尔","拉布拉多");
        pet.print();
    }
}
输出结果:
我的名字是布尔我是一只拉布拉多.

Description:

By abstracting the print method and rewriting the print method of the parent class in the subclass, you can instantiate the subclass to obtain the subclass object, and call the subclass method through the subclass object to output the subclass class information. Otherwise, if you do not do this, the abstract class cannot be instantiated directly, and the correct subclass information will not be output.

(Video tutorial recommendation: java video tutorial)

7. Advantages and limitations of abstract classes and abstract methods

Advantages:

The methods that have been implemented in the abstract class can be used by its subclasses, so that the code can be reused;

Provides abstract methods for subclasses and provides subclasses with their own uniqueness.

Limitations of abstract classes:

The methods of the parent class are not necessarily universal, because the methods of the subclass are special;

When the subclass inherits the abstract class of the parent class, write The methods that come out may have code duplication.

The above is the detailed content of Detailed introduction to java abstract classes. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:csdn. If there is any infringement, please contact admin@php.cn delete

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.