Introduction to java interfaces and abstract classes (code examples)
This article brings you an introduction to Java interfaces and abstract classes (code examples). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
Interface:
(1)The variables defined in the interface are of public static final type, regardless of whether these modifiers are explicitly qualified, and must be explicitly initialized, otherwise an error will be reported:
public interface Interface1 { /** * VARIABLE1显式添加public static final修饰符 * VARIABLE2隐式含有public static final修饰符 */ public static final String VARIABLE1="AAA"; String VARIABLE2="BBB"; /** * VARIABLE3未显式初始化,代码变异报错: * The blank final field VARIABLE3 may not have been initialized */ String VARIABLE3; }
(2) The methods defined in the interface are all abstract methods, that is, they do not contain any method implementation :
a. If the class that implements the interface is a normal class (non-abstract class), all methods of the interface must be implemented, otherwise a compilation error will be reported;
b. If the class that implements the interface is abstract class, you can only implement some methods of the interface, otherwise an exception will be thrown;
public interface Interface2 { /** * method1方法定义显式添加public abstract修饰符 * method2方法隐式含有public abstract修饰符,两个方法都是抽象方法 */ public abstract String method1(); String method2(); }
/** * 普通类Class1实现Interface2接口,必须实现所有接口方法 * */ public class Class1 implements Interface2 { @Override public String method1() { // TODO Auto-generated method stub return null; } @Override public String method2() { // TODO Auto-generated method stub return null; } }
/** * 抽象类Class2实现Interface2接口,可以只实现方法method1 */ public abstract class Class2 implements Interface2 { @Override public String method1() { // TODO Auto-generated method stub return null; } }
Abstract class:
(1)Abstract classes are also classes. Like ordinary classes, they can have ordinary variables, implemented methods, and structures. Functions, but cannot be instantiated and can only be used to inherit;
Ordinary methods must have method bodies, abstract methods cannot bring method bodies;
public abstract class AbstractClass1 { String variable1;//普通变量 public static final String VARIABLE2="AAA";//定义静态常量 public void method1(){ }//普通方法,必须有方法体 abstract void method2();//抽象方法,不能有方法体 AbstractClass1(){//可以定义构造函数,但抽象类不能实例化,只能被继承 System.out.println("此为构造函数"); } }
There is another biggest difference between interfaces and abstract classes. A class can implement multiple interfaces, but can only inherit one class;
In practical applications, interfaces It is the most commonly used. If the implementations of multiple interfaces have common parts, you can consider extracting this part into an abstract class, and then inherit the abstract class. In other words, abstract classes provide the implementation of public methods, which can be quickly developed and managed uniformly, and allow your class to fully implement all its own methods without tight coupling problems.
The above is the detailed content of Introduction to java interfaces and abstract classes (code examples). For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

Guide to TimeStamp to Date in Java. Here we also discuss the introduction and how to convert timestamp to date in java along with examples.

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

Capsules are three-dimensional geometric figures, composed of a cylinder and a hemisphere at both ends. The volume of the capsule can be calculated by adding the volume of the cylinder and the volume of the hemisphere at both ends. This tutorial will discuss how to calculate the volume of a given capsule in Java using different methods. Capsule volume formula The formula for capsule volume is as follows: Capsule volume = Cylindrical volume Volume Two hemisphere volume in, r: The radius of the hemisphere. h: The height of the cylinder (excluding the hemisphere). Example 1 enter Radius = 5 units Height = 10 units Output Volume = 1570.8 cubic units explain Calculate volume using formula: Volume = π × r2 × h (4

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.
