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!