java interface 中定义的class 是否是static ,记得书本上有详细的介绍,由于自己也不想再翻书,突然想到用javap 分别反编译一下interface和class 中包含的class 文件。两者进行对比消除了自己的疑惑。
记录下来仅仅是为了日后拾遗。所以也不想为了分享而分享。
记录下来仅仅是为了日后拾遗。所以也不想为了分享而分享。
package com.zhi.learnj2;
public interface Food {
class JackieZhi{
private String name;
public JackieZhi(String name){
this.name = name;
}
public String getName() {
return name;
}
@Override
public String toString() {
return name;
}
}
enum XiaFanCai implements Food{
}
}
class JTester {
class JTesterInner{
private String password;
public JTesterInner(String password){
this.password = password;
}
public String getPassword() {
return password;
}
}
public static void main(String[] args){
//可以看出interface中的嵌套类是static 类型。的
// Food.JackieZhi jackiezhi = new Food.JackieZhi("jackiehzi");
// System.out.println(jackiezhi);
JTesterInner jtesterinner = (new JTester()).new JTesterInner("zhi@gmail.com");
System.out.println(jtesterinner.getPassword());
}
/**
class com.zhi.learnj2.JTester$JTesterInner {
final com.zhi.learnj2.JTester this$0; // 外部类对象的引用!
public com.zhi.learnj2.JTester$JTesterInner(com.zhi.learnj2.JTester, java.lang.String);
public java.lang.String getPassword();
}
*/
}