我正在使用WindowBuilder for Eclipse Java.
当我创建一个Button或Menu(或任何东西)时,它会创建嵌套在构造函数中的字段.有没有办法让它们成为字段,然后在构造函数中初始化,以便我可以在构造函数之外使用它们?谢谢.
即:FROM
public GUIFrame() {
JMenuBar menuBar = new JMenuBar();
}
Run Code Online (Sandbox Code Playgroud)
至
public JMenuBar menubar;
public GUIFrame() {
menuBar = new JMenuBar();
}
Run Code Online (Sandbox Code Playgroud) 我有一个超级类和一堆子类.我想有一个在每一个子类的同名一个领域,但我不希望它在超类中定义,或者至少我不希望使用该值.这就是我现在所拥有的
public abstract class Big {
public String tellMe = "BIG";
public Big() {}
public void theMethod() {
System.out.println ("Big was here: " + tellMe() + ", " + tellMe);
}
public String tellMe() {
return tellMe;
}
}
public class Little extends Big{
public String tellMe = "little";
public Little(){}
public String tellMe() {
return "told you";
}
public static void main(String [] args) {
Little l = new Little();
l.theMethod();
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行Little时,这就是输出
大在这里:告诉你,大
我不确定为什么'告诉你'打印出来,而tellMe指的是"BIG".两者都是如此?
我的问题是我希望方法tellMe()在Big中,并让变量tellMe(它将实际返回)在所有子类中定义.我可以通过重写每个子类中的tellMe()方法来编写代码的唯一方法.但这不是打败继承的整个目的吗?请帮忙
编辑:我不在我的子类中使用构造函数.我想要的只是一个可以在所有子类中设置的字段和一个使用这些值的超级方法.我不明白为什么这是不可能的,因为每个子类都必须实现它,所以它才有意义...如果这根本不可能,请告诉我
我有一个Data在Django中调用的模型,其中一个字段叫做time_last_updated.它初始化如下:
time_last_updated=timezone.now()
Run Code Online (Sandbox Code Playgroud)
当我手动查询数据库(PostgresSQL)时,日期看起来就像2014-02-26 01:42:44.290443+00我预期的一样好.问题是,当我Data在python shell中获取对象时,我得到了这个:
>>> Data.objects.all[0].time_last_updated
datetime.datetime(2014, 2, 26, 1, 42, 44, 290443, tzinfo=<UTC>)
Run Code Online (Sandbox Code Playgroud)
但是,如果我立即尝试将这个结果直接放回shell中,好像要创建一个datetime对象形式,我会SyntaxError在=右边获得一个tzinfo.
Django如何返回一个语法无效的对象?