当前位置:网站首页>Internal learning
Internal learning
2022-07-04 08:25:00 【weixin_ fifty-three million fifty thousand one hundred and eigh】
Classification of internal classes : Member inner class ( Static inner class and non static inner class ), Local inner classes don't talk about modifiers , Anonymous inside
class .
1. Member inner class
A member inner class is equivalent to a member of a class :
Different from the outer class , Inner classes can be declared as private perhaps protected;
You can call members of external classes .
The inner class of the member is the member of the class :
You can define attributes in internal classes , Method , Constructors, etc
Can be declared as abstract class , So it can be inherited by other inner classes
Can be declared as final Of
Generate external classes after compilation $ Inner class .class Bytecode file ( Applicable to local inner classes )
Be careful :
1. Not static Members in inner classes cannot be declared as static Members of , Only in external classes or static Can only be declared in a member's inner class static member .
2. External classes access members, members of inner classes , Inner class object . The way members are .
3. Member inner classes can directly use all members of outer classes , Including private data
Inner classes can be declared as abstract classes , So it can be inherited by other inner classes , You can also state final Of .
Why use inner classes : Each inner class can independently inherit a ( Interface , abstract class ) Internship , So whether or not the outer class has inherited a certain ( Interface , abstract class ) Realization , No effect on inner classes . Sometimes in program design, there are some problems that are difficult to solve using interfaces , At this time, you can make use of the , The ability to inherit multiple concrete or abstract classes . Interface only solves most problems , The inner class makes the solution of multiple inheritance more complete . The biggest advantage of using inner classes is that it can solve the problem of multiple inheritance very well .
( The static ) Member inner class :
Outer outer=new Outer();
Outer.Inner inner=outer.new Inner();
( static state ) Member inner class :
Outer.Inner inner=new Outer.Inner();
2. Local inner classes
Local class scope : Code block , Constructors , Method .
The local class is still a separate class , After compilation, the inner class will be compiled to be independent .class file , But the front is preceded by the outside
Class name and $ Symbol , And numbers .
Local inner classes and local variables have similar status , Out of commission public,protected, default ,private
Local inner classes cannot use static modification , So you can't include static members either
Local inner classes can use members of external classes , Including private
Local inner classes can use local variables of external methods , But it must be final Of . It consists of declarations of local inner classes and local variables
Due to different periods .
3. Anonymous inner class
An anonymous class , Is a class without a name , Its name is given by Java Given by compiler , Anonymous classes cannot use any keywords and access control characters , The access rules of anonymous classes and local classes are the same .
interface Inner {
void say();
}
public class Test{
public static void main(String[] args) {
person(new Inner(){
@Override
public void say() {
System.out.println("java");
}
});
}
public static void person(Inner an){
an.say();
}
}
边栏推荐
- Unity-写入Word
- Use preg_ Match extracts the string into the array between: & | people PHP
- 团体程序设计天梯赛-练习集 L2-002 链表去重
- WordPress get_ Users() returns all users with comparison queries - PHP
- 运动【跑步 01】一个程序员的半马挑战:跑前准备+跑中调整+跑后恢复(经验分享)
- How to reset IntelliSense in vs Code- How to reset intellisense in VS Code?
- 2022 examination questions for safety managers of metal and nonmetal mines (underground mines) and examination papers for safety managers of metal and nonmetal mines (underground mines)
- deno debugger
- 1、卡尔曼滤波-最佳的线性滤波器
- How to use MOS tube to realize the anti reverse connection circuit of power supply
猜你喜欢
zabbix 5.0监控客户端
1、卡尔曼滤波-最佳的线性滤波器
What does range mean in PHP
Newh3c - routing protocol (RIP, OSPF)
小程序容器技术与物联网 IoT 可以碰撞出什么样的火花
Question 49: how to quickly determine the impact of IO latency on MySQL performance
[CV] Wu Enda machine learning course notes | Chapter 9
【Go基础】2 - Go基本语句
Take you to master the formatter of visual studio code
线性代数1.1
随机推荐
PHP converts seconds to timestamps - PHP
Newh3c - routing protocol (RIP, OSPF)
Heap concept in JVM
Parallel shift does not provide any acceleration - C #
Use preg_ Match extracts the string into the array between: & | people PHP
Azure ad domain service (II) configure azure file share disk sharing for machines in the domain service
Google's official response: we have not given up tensorflow and will develop side by side with Jax in the future
AcWing 244. Enigmatic cow (tree array + binary search)
ctfshow web255 web 256 web257
ZABBIX monitoring system custom monitoring content
Chrome is set to pure black
Application of isnull in database query
Oracle-存储过程与函数
WordPress get_ Users() returns all users with comparison queries - PHP
1. Kalman filter - the best linear filter
Devops Practice Guide - reading notes (long text alarm)
团体程序设计天梯赛-练习集 L2-002 链表去重
How to play dapr without kubernetes?
墨者学院-phpMyAdmin后台文件包含分析溯源
What determines vacuum permittivity and vacuum permeability? Why do these two physical quantities exist?