楼主对 j2SE 的理解非常浅薄,还停留在 2010 年。
最近需要接入各个渠道的推送,在接入小米渠道时,发现其 sdk 混淆后的一个类,很有意思。
这个类的具体类名是:com.xiaomi.mipush.sdk.PushMessageHandler
这个类中有两个方法,分别为:
protected static void b() {synchronized (a) {a.clear();} }
public static boolean b() {return b.isEmpty();}
这样写并不符合 java 的重载语法吧?
既两个方法只有返回值不同,换句话说二者的方法签名是一致的。
但神奇的是,当我引入这个 jar 包到 java 项目中时,竟然可以编译通过。
反之,当我把这个 jar 引入到 Xamarin Android 项目中时,就会因为有两个 b()编译失败。
求各路大神解答。
最近需要接入各个渠道的推送,在接入小米渠道时,发现其 sdk 混淆后的一个类,很有意思。
这个类的具体类名是:com.xiaomi.mipush.sdk.PushMessageHandler
这个类中有两个方法,分别为:
protected static void b() {synchronized (a) {a.clear();} }
public static boolean b() {return b.isEmpty();}
这样写并不符合 java 的重载语法吧?
既两个方法只有返回值不同,换句话说二者的方法签名是一致的。
但神奇的是,当我引入这个 jar 包到 java 项目中时,竟然可以编译通过。
反之,当我把这个 jar 引入到 Xamarin Android 项目中时,就会因为有两个 b()编译失败。
求各路大神解答。