Home > Java > javaTutorial > Rewriting: What features are available in the Java language?

Rewriting: What features are available in the Java language?

WBOY
Release: 2023-05-09 16:58:18
forward
681 people have browsed it

1. Package

Java defines a name space called package: package. A class always belongs to a certain package. The class name (such as Person) is just an abbreviation. The real complete class name is package name.class name. For example: the apple class is placed in the package banana. The complete class name is: banana.apple.

Syntax of custom package:

package<   包名   >
Copy after login

Note: Declaring a package must be written on the first line of the class.

1.2 Package import

If you want to use a package that exists in java, you can use the import statement to import the package in the program.

The format is as follows: (note there is a small dot in the middle)

import<  包名  >.<  类名  >
Copy after login

If you want to import multiple classes in a package, you can use "*" to indicate all classes in the package the type. As in the previous example, the complete code is: import banana.*.

2. Inheritance

Inheritance means that the subclass inherits the characteristics and behaviors of the parent class, so that the subclass object (instance) has the instance fields and methods of the parent class, or the subclass inherits from the parent class Method to make the subclass have the same behavior as the parent class.

The role of inheritance: Through inheritance, you can quickly create new classes, realize code reuse, improve the maintainability of the program, save a lot of time in creating new classes, and improve development efficiency and development quality.

The inheritance syntax format of java is as follows:

[修饰符]  class 子类名 [extends 父类名]{
        //类定义部分
}
Copy after login

For example: banana is a class, apple is a class, set banana as the parent class of apple

public class apple extends banana{
        //内容
}
Copy after login

Notice! 1.Inheritance in Java is single inheritance, that is, a subclass can only have one direct parent class.

2. Subclasses cannot selectively inherit from parent classes;

3. Java does not support multiple inheritance, but one class can implement multiple interface, thereby overcoming the shortcomings of single inheritance;

4. The construction method will not be inherited by the subclass, but the construction method of the parent class can be called from the subclass.

Three: Overloading and Rewriting

3.1 Overload

In the same class, methods with the same name have different parameters A list (different parameter types, different number of parameters, or even different parameter order) is an overload. Overloading has no requirements on the return type, it can be the same or different, but it cannotdepend on whether the return type is the same To determine overloading.

Pay attention to the following points:

(1) The method names in the same class are the same, but the parameter lists are different.

(2) The return value type cannot be used to distinguish method overloads.

Reminder: The constructor can also implement method overloading

3.2 Rewrite

Rewrite, that is, write it again. That is, rewrite the methods of the parent class itself in the subclass. A subclass extends a parent class, and a subclass is a special parent class. The subclass is based on the parent class and adds new attributes and methods.

Rewriting rules:

1. Occurs between the class and the parent class

2. Private methods in the parent class cannot be overridden

3. When overriding a parent class method, the access permission cannot be lower than that of the parent class, and the exception thrown cannot be wider than the exception scope of the parent class or throw a new exception

4. The parent class has When using a static method, the subclass must override it through the static method

The difference between overloading and rewriting:

1. Overloading occurs In a class

2. Rewriting occurs between the parent class and the child class.

Four: Polymorphism

Polymorphism means that the same operation acts on different objects and can have different interpretations, resulting in different execution results.

Polymorphism is reflected in the fact that parent class reference variables can point to subclass objects

Prerequisite: There must be a child-parent class relationship.

Note: When calling a method using a polymorphic parent class reference variable, the overridden method of the subclass will be called.

4.1 Polymorphic transformation


Polymorphic transformation is divided into two types:

Upward transformation and Downward transformation:

Upward transformation: Polymorphism itself is a process of upward transformation

Usage format:

父类类型 变量名=new 子类类型();
Copy after login
Applicable Scenario: When there is no need to deal with subclass types, the corresponding operations can be completed by improving extensibility or using the functions of the parent class.

Downward transformation: A subclass object that has been upwardly transformed can use the format of forced type conversion to convert the parent class reference type to the subclass reference type


4.2 instanceof

The first operand of the instanceof operator is usually a reference type variable, and the latter operand is usually a class. It is used to determine whether the reference variable in front of the operator is the type after the operator or An instance of its subtype.

Notice! When using the instanceof operator, you need to pay attention to the compile time of the operand in front of the instancecof operator. The type is either the same as the following class, or has a parent-child inheritance relationship with the following class, otherwise it will cause compilation errors.

The above is the detailed content of Rewriting: What features are available in the Java language?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template