【发布时间】:2012-08-07 17:22:13
【问题描述】:
在 Objective-C 中,我们可以在同一个头文件中定义协议和实现。 例如:
@class GamePickerViewController;
@protocol GamePickerViewControllerDelegate <NSObject>
- (void)gamePickerViewController:
(GamePickerViewController *)controller
didSelectGame:(NSString *)game;
@end
@interface GamePickerViewController : UITableViewController
@property (nonatomic, weak) id <GamePickerViewControllerDelegate> delegate;
@property (nonatomic, strong) NSString *game;
@end
这样,如果我包含 .h 文件,我将可以访问文件中定义的协议。 我正在Java中寻找类似的结构,因为我发现它在某些我想避免创建太多文件(接口文件+类文件)的情况下很有用。 这样我就可以声明:
public class MyImplementation implements AnotherClass.MyInterface{
AnotherClass otherClass;
}
我认为接口内的嵌套类是要走的路。我是对的吗?还是 Java 中没有类似的东西?
【问题讨论】:
-
为什么要避免创建更多文件? Java 鼓励为每个类和接口定义单独的文件。
-
我同意 ArtB。此外,无论对错,它都打破了大多数 Java 程序员使用的惯例。未来的程序员会对这种事情感到有些困惑。
-
其实这是当今Android开发者的普遍模式。看看 Recycler 视图适配器和持有者,他们做的事情类似于这个问题所要求的
标签: java