在Java中,对于实例变量的声明,我看到了一些似乎有冲突的约定。例如,一个经典的银行账户实例变量可能如下所示,这是非常合理的。
private double balance = 0.0;
实例变量可能会包含访问修饰符、数据类型、变量名以及值。我曾错误地认为这些都是实例变量的组成部分。现在,问题来了。
考虑一个被导入的库/类/包,名为ColorImage。它似乎有一个画布对象,但以下是实例变量声明的样子。
private Canvas canvas = new Canvas();
private ColorImage image1 = new ColorImage("file.gif");
现在看起来对象名称,甚至库/包/类本身的名称都被用作数据类型。此外,实例变量已经与看起来像构造函数的内容合并在一起。
我的问题是:为什么第二种语法在看起来明显偏离第一种语法时仍然可以使用?
任何帮助将不胜感激。