public static class ViewHolder {
public int a,b;
public void method();
}
是方法,当我将类声明为é™æ€æ—¶ï¼Œé»˜è®¤æƒ…况下å˜é‡aå’Œb是é™æ€çš„还是我必须å•ç‹¬å£°æ˜Žå®ƒä»¬æ˜¯é™æ€çš„?我知é“è¿™æ˜¯ä¸€ä¸ªæ„šè ¢çš„é—®é¢˜ï¼Œä½†æˆ‘çŽ°åœ¨æœ‰ç‚¹å›°æƒ‘:(
ç”案 0 :(得分:6)
ä¸ï¼Œé»˜è®¤æƒ…况下它们ä¸æ˜¯é™æ€çš„,它们是普通的实例æˆå‘˜ã€‚
é™æ€å†…部类,与普通内部类ä¸åŒï¼Œå¯ä»¥å…·æœ‰é™æ€æˆå‘˜ï¼Œä½†æ˜¯ï¼Œå¦‚果您明确声明它们。
ç”案 1 :(得分:2)
ä¸ï¼Œå½“您声明一个内部é™æ€ç±»æ—¶ï¼Œæ‚¨æŒ‡å®šå£°æ˜Žæœ¬èº«æ˜¯é™æ€çš„ï¼Œè¿™æ ·æ‚¨å°±ä¸éœ€è¦çˆ¶ç±»çš„对象实例æ¥è®¿é—®å®ƒã€‚
没有关于内部æˆå‘˜çš„任何内容。
ç”案 2 :(得分:1)
é™æ€åµŒå¥—类的æˆå‘˜ä¸æ˜¯é™æ€çš„。使用类指定static
关键å—,表示嵌套类å¯ä»¥ä½¿ç”¨ä¸Žé™æ€æ•°æ®æˆå‘˜ç±»ä¼¼çš„包å«å¤–部类进行实例化。
BaseClass.StaticNestedClass nestedClass = new BaseClass.StaticNestedClass();
nestedClass.nonStaticMethod();//correct
BaseClass.StaticNestedClass.nonStaticMethod()//Error
这对é™æ€åµŒå¥—类的数æ®æˆå‘˜æ²¡æœ‰å½±å“ï¼Œè¿™äº›ç±»çš„è¡Œä¸ºä¸Žæ™®é€šç±»ä¸€æ ·ã€‚
请注æ„,如果static
关键å—与class
相关è”,那么类必须是嵌套类
ç”案 3 :(得分:0)
公共é™æ€ç±»çš„工作方å¼ä¸Žå…¶ä»–ç±»ä¸€æ ·ã€‚å”¯ä¸€çœŸæ£çš„区别是它是通过包å«ç±»è®¿é—®çš„:
OuterClass.InnerClass foo = new OuterClass.InnerClass();