假设我们的类没有任何构造函数和实例变量
public class ConsoleWriter{
public void write(){
System.out.println("Console Writing...");
}
}
你还有另一个类 App,有 2 个变量 console 和 console1
public class App{
ConsoleWriter console;
ConsoleWtiter console1=new ConsoleWriter();
}
现在我明白console1是ConsoleWriter的一个对象,而console只是ConsoleWriter的引用类型。
当遇到这种情况时(没有构造函数,没有实例变量)
有什么区别?
或者,如果我们可以使用 console
来创建对象 console1
,那么它会有什么用处。
console.write();//would output Console Writing...
console1.write();//would output Console Writing...
最佳答案
console1 is an object of ConsoleWriter
这是一个指向 ConsoleWriter 类型对象的引用,这是不正确的。由于未初始化,它将指向 null
。此外,您无法调用它的方法,因为它尚未初始化。
console.write();//would output Console Writing...
这也是不正确的。必须先初始化。
ConsoleWtiter console1=new ConsoleWriter();
这相当于
ConsoleWtiter console1;
它创建一个指向 ConsoleWriter 类的对象/实例的引用。由于它是一个实例变量,因此它被分配默认值,即 null。
console1 = new ConsoleWriter();
此时,引用控制台实际上指向 ConsoleWriter 类的对象。只有在这个(初始化)之后你才能调用该类的方法。
关于java - 对象和类之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20967382/