Home  >  Article  >  Java  >  The difference between Java interfaces and classes: inheritance and implementation methods

The difference between Java interfaces and classes: inheritance and implementation methods

PHPz
PHPzOriginal
2023-12-23 09:06:54917browse

The difference between Java interfaces and classes: inheritance and implementation methods

Interfaces and classes are two important concepts in Java, and they play different roles in object-oriented programming. This article will analyze the differences between Java interfaces and classes, focus on comparing their characteristics in inheritance and implementation, and provide specific code examples to illustrate.

1. Inheritance method

  1. Class inheritance method

Class is one of the basic object-oriented concepts in Java. It can be used by other classes inherit. When a subclass inherits a parent class, the subclass will inherit the properties and methods of the parent class and can use these properties and methods directly. Inheritance is declared using the keyword "extends".

public class Animal {
    public void sound() {
        System.out.println("Animal makes a sound");
    }
}

public class Dog extends Animal {
    public void run() {
        System.out.println("Dog is running");
    }
}

In the above example, the class Dog inherits the class Animal, so it can call the sound method in the Animal class and has its own run method.

  1. Inheritance method of interface

Interface is another important concept in Java programming. It defines a set of methods that need to be implemented, but does not contain the actual implementation code. . A class can use the methods defined by the interface by implementing the interface. Interfaces are declared using the keyword "implements".

public interface Drawable {
    void draw();
}

public class Circle implements Drawable {
    public void draw() {
        System.out.println("Circle is being drawn");
    }
}

In the above example, the class Circle implements the interface Drawable, so the draw method in the interface must be implemented. In this way, the Circle class can have the function of the draw method.

2. Implementation method

  1. Interface implementation method

In Java, a class can implement multiple interfaces, so that in one class Define methods in multiple interfaces.

public interface Interface1 {
    void method1();
}

public interface Interface2 {
    void method2();
}

public class MyClass implements Interface1, Interface2 {
    public void method1() {
        System.out.println("Implementing method1");
    }

    public void method2() {
        System.out.println("Implementing method2");
    }
}

In the above example, the class MyClass implements both interfaces Interface1 and Interface2, so the methods defined in these two interfaces must be implemented.

  1. How to implement the class

The class does not have the characteristics of implementing the interface. It can only inherit but not implement. A class can only inherit properties and methods from a parent class through the extends keyword.

public class Animal {
    // ...
}

public class Dog extends Animal {
    // ...
}

In the above example, the Dog class inherits the Animal class and thus obtains the properties and methods defined in the Animal class.

To sum up, there are significant differences between interfaces and classes in Java in terms of inheritance and implementation. Classes mainly obtain the properties and methods of parent classes through inheritance, while interfaces define a set of methods that need to be implemented through implementation. This article provides specific code examples to illustrate the differences between the two, hoping that readers can have a deeper understanding of the difference between interfaces and classes in Java.

The above is the detailed content of The difference between Java interfaces and classes: inheritance and implementation methods. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn