hashmap源码里的init方法有什么用啊?不能被override,里面也没内容
(https://img-ask.csdn.net/upload/201507/24/1437668388_795143.png)
内部声明的公共类。
初始化时候的hook。子类重写的入口。
Hashmap初始化→调用hook→子类函数插值→重写某个函数(入口hook)。
缺少之后readObject会报错。
回答这个问题到底能不能override,因为init的modifier是default(package access),所以是可以override的,如果你看LinkedHashMap这个类,他就重载了这个方法。那么这种做法到底起什么作用,其实就是多态,简单说就是在父类不知道子类实现的情况下,提供一个桩,其实相当于一个虚函数
init只在LinkedHashMap中有实现,主要在构造函数初始化和clone、readObject中有调用。
主要是进行一些必要的初始化。。。
相当于初始化,比如说你在上面new了一个String对象,下面
JWTAAAFilter aaaFilter = new JWTAAAFilter();
String loginUserId ="";
try {
//从配置文件读取各项的值
String idpAddress = UtilProperties.getPropertyValue("sso.properties", "*");
//对各参数进行初始化
aaaFilter.idpAddress=idpAddress;
这样懂了吗?