The difficulty

primary

Learning time

Ten minutes

Suits the crowd

Zero basis

Development of language

Java

The development environment

  • JDK v11
  • IntelliJ IDEA v2018.3

prompt

This teaching is a series of teaching, the content is consistent, the content used in this chapter has been explained in detail in the previous teaching.

1. Anonymous inner classes and inheritance

Anonymous inner classes are somewhat limited compared to normal inheritance because anonymous inner classes can inherit classes and implement interfaces, but not both. And if it is an implementation interface, only one interface can be implemented.

Next, let’s demonstrate how an anonymous inner class inherits from an abstract inner class and still uses inheritance.

Presentation:

Define two abstract inner classes People and Man in the Main class.

Create an anonymous inner class object of People in the Main () method of the Main class and inherit the abstract inner class Man.

Observe the running result of the program.

Code:

Main categories:

Results:

Error message:

The text version:

/Users/admin/Workspace/Java/Hello/src/main/Main.java
Error:(35, 37) Java: needed ‘; ‘
Error:(35, 46) Java: not a statement
Error:(35, 49) Java: needed ‘; ‘
Error:(41, 21) Java: needed ‘; ‘

From the running results, the program appeared a bit wrong.

In the sense that an anonymous inner class is an expression, it should not and cannot inherit from other classes.

What goes wrong:

The extends keyword cannot be used here.

2. Anonymous inner classes and implementation interfaces

The example above shows that an anonymous inner class cannot inherit from another class. The next example shows how an anonymous inner class implements an interface.

Presentation:

Define two interfaces, People and Man, in the Main class.

Create an anonymous inner class object of People in the Main () method of the Main class and implement the interface Man.

Observe the running result of the program.

Code:

Main categories:

Results:

Error message:

The text version:

/Users/admin/Workspace/Java/Hello/src/main/Main.java
Error:(35, 37) Java: needed ‘; ‘
Error:(35, 49) Java: not a statement
Error:(35, 52) Java: needed ‘; ‘
Error:(41, 21) Java: needed ‘; ‘

According to the results, the program found a small error. Let’s see.

In the sense that an anonymous inner class is an expression, it should not and cannot implement any other interface.

What goes wrong:

The implements keyword cannot be used here.

conclusion

  • Anonymous inner classes can implement only one inherited class and one interface.

This is the end of anonymous inner class inheritance and implementation in Java. Stay tuned for more details.

Attached: Anonymous inner class learning materials

Students who have not studied or are not quite clear about the local internal class students also don’t worry, you can click on the following local internal class learning materials to learn.

Full Stack 2019 “Java” Chapter 94: Detailed explanation of local inner Classes

Full Stack 2019 “Java Chapter 95: Can static local inner classes be defined in methods?

Full Stack 2019 “Java” Chapter 96: Abstract local inner Classes in detail

Full Stack 2019 “Java chapter 97: Details on accessing local inner class members in methods

Full Stack 2019 “Java” Chapter 98: Details on local inner class access scope members

“Full Stack 2019” Java Chapter 99: Partial inner Classes and inheritance details

“Full Stack 2019” Java Chapter 100: Can local inner Classes implement interfaces?

Chapter 101 of “Full Stack 2019” Java: Details of local inner class override scope members

“Full Stack 2019” Java Chapter 102: What scopes can declare local inner classes?

Full Stack 2019 Java Chapter 103: Details of anonymous inner Classes

Chapter 104 of “Full Stack 2019” Java: How anonymous inner classes communicate with external members

Chapter 105 of “Full Stack 2019” Java: Anonymous inner class override scope members

Full Stack 2019 Java Chapter 106: Anonymous Inner class and Abstract Class Interface considerations

Full Stack 2019 Java Chapter 107: Anonymous Inner Classes and constructors considerations

“Full Stack 2019” Java Chapter 108: Anonymous Inner Classes and final keywords

Attachment: class learning materials

Full Stack 2019 “Java Chapter 36: Classes

Full Stack 2019 “Java Chapter 37: Classes and Fields

Full Stack 2019 “Java Chapter 38: Classes and Methods

Full Stack 2019 “Java chapter 39: Constructors, Constructors, Constructors

Full stack 2019 “Java Chapter 40: This keyword

Full Stack 2019 “Java Chapter 41: static keyword

Full Stack 2019 “Java Chapter 42: Static Code blocks and Initialization Sequences

Full Stack 2019 “Java chapter 43: Encapsulation

Full Stack 2019 “Java chapter 44: Inheritance

Full Stack 2019 “Java Chapter 45: super keyword

Full Stack 2019 “Java Chapter 46: Inheritance and Fields

Full Stack 2019 “Java chapter 47: Inheritance and Methods

Full Stack 2019 “Java Chapter 48: Override method

Full Stack 2019 “Java chapter 49: Overloading vs. Overwriting details

Full Stack 2019 “Java chapter 50: Inheritance and constructor details

Full Stack 2019 “Java chapter 51: Inheritance and final keyword details

Full Stack 2019 Java Chapter 52: Inheritance and Initialization details

Full Stack 2019 “Java chapter 53: Up and Down transition details

Attached: Abstract learning materials

Full Stack 2019 “Java” Chapter 54: Polymorphism in detail

Full Stack 2019 “Java chapter 55: Static and Dynamic binding of methods

Full Stack 2019 “Java chapter 56: Polymorphism and Field details

Full Stack 2019 “Java chapter 57: Polymorphism and constructors in detail

Full Stack 2019 “Java Chapter 58: Method return types in polymorphism can be subclass types

Full Stack 2019 “Java” Chapter 59: Abstract Classes and methods

Attached: interface learning materials

Full Stack 2019 “Java chapter 60: How to Define interfaces

Full Stack 2019 “Java Chapter 61: How to Implement interfaces?

Full Stack 2019 “Java chapter 62: Interfaces and Constants in detail

Full Stack 2019 “Java chapter 63: Interfaces and Abstract methods in detail

Full Stack 2019 “Java chapter 64: Interfaces and Static Methods in detail

Full Stack 2019 “Java chapter 65: Detailed description of interfaces and default methods

Full Stack 2019 “Java chapter 66: Abstract classes and interfaces in detail

Attached: Internal class learning materials

Full Stack 2019 “Java” Chapter 67: Inner class, nested class details

Full Stack 2019 “Java” Chapter 68: Details on how external classes access inner class members

Full Stack 2019 “Java” Chapter 69: Inner class access to external class members details

Full Stack 2019 “Java” Chapter 70: Static inner Class details

Full Stack 2019 “Java Chapter 71: External Class access static inner class members in detail

Full Stack 2019 “Java Chapter 72: Static inner Class access to external class members

Full Stack 2019 “Java” Chapter 73: Explaining multiple static non-static inner classes in an external class

Full Stack 2019 “Java Chapter 74: Inner classes and static inner classes nested each other

Full Stack 2019 “Java Chapter 75: Inner classes hold outer class objects

Full Stack 2019 “Java Chapter 76: Static and non-static Inner Class Access Permissions

Full Stack 2019 “Java chapter 77: Abstract Inner Classes and Abstract Static inner classes

Full Stack 2019 “Java Chapter 78: Can Inner Classes Inherit from Other Classes?

Full Stack 2019 “Java Chapter 79: Can Interfaces be nested in Classes?

Full Stack 2019 “Java chapter 80: Can external classes implement interfaces in this class?

Full Stack 2019 “Java Chapter 81: Can external Classes access members in nested interfaces?

Full Stack 2019 “Java Chapter 82: Can nested Interfaces Access members in external classes?

Full Stack 2019 “Java chapter 83: Inner Classes and interfaces

Full Stack 2019 “Java” Chapter 84: Detailed description of nested interfaces in interfaces

Full Stack 2019 “Java Chapter 85: Implementing nested interfaces in Interfaces

Full Stack 2019 “Java chapter 86: Can Nested Interfaces Be Multi-inherited?

Full Stack 2019 “Java chapter 87: Application Scenarios for Nested Interfaces in Classes

Full Stack 2019 “Java Chapter 88: Application scenarios for nested interfaces in Interfaces

Full Stack 2019 “Java chapter 89: Can I Define inner Classes in interfaces?

Full Stack 2019 “Java chapter 90: Can Inner Classes Be transformed up or down?

Full Stack 2019 “Java chapter 91: Are Inner Classes Polymorphic?

Full Stack 2019 “Java” Chapter 92: Full stack and Inner class member coverage details

Full Stack 2019 “Java chapter 93: Inner Class Application Scenarios (Iterator Design Patterns)

Answering questions

If you have questions or want to learn more about cutting-edge technology, please leave them in the comments below, and I’ll answer them for you.

The previous chapter

“Full Stack 2019” Java Chapter 108: Anonymous Inner Classes and final keywords

The next chapter

Full Stack 2019 Java Chapter 110: The difference between local inner classes and anonymous inner classes

A study group

Join a synchronous learning group for mutual communication and progress.

  • Method 1: Follow the headline number Gorhaf, private message “Java study Group”.
  • Method 2: follow the public account Gorhaf, reply “Java learning group”.

Full stack engineer learning program

Follow us and join the “Full stack Engineer Learning Program”.

Copyright statement

Original is not easy, shall not be reproduced without permission!