例如: 让我们说有一个类Dog,一个子类Dalmatian和Dog类有私有变量 字符串名称,品种; 现在我在主要说:
Dog spot = new Dalamatian();
并自动获取名称=" spot"和品种="达尔马提亚"。
答案 0 :(得分:2)
很容易获得该品种:
public class Dog {
private final String name;
private final String breed;
protected Dog(String name) {
// Default to using the class name
this(name, getClass().getSimpleName());
}
protected Dog(String name, String breed) {
// Allow subclasses to specify an explicit breed
this.name = name;
this.breed = breed;
}
}
我不相信在Java中有任何推断spot
的方式。 (您可以在C#中执行此操作,假设这是一个字段而不是局部变量,使用CallerMemberName
...)
所以基本上你需要
Dog spot = new Dalmation("spot");