所以我现在正在研究两个班级并且刚刚学会了这样做,但仍然不知道为什么这可能以及这个叫做什么。类变量?对象创建对象? 在setter方法中,为什么默认值为null?它像String吗? 根据我的假设,'RetailItem item'就像它将整个RetailItem类组合在一起,并在另一个类中创建一个具有其功能的新变量。
有两个名为CashRegister和RetailItem的类。
以下是来自CashRegister的带有setter的实例'RetailItem item'。
public class CashRegister
{
private RetailItem item;
public void setItem (RetailItem newItem)
{
if (newItem != null)
{
item = newItem;
}else{
item = new RetailItem();
}
}
}
RetailItem()
是RetailItem
类的默认构造函数。
item = new RetailItem();
是什么意思?
我不知道我在哪里开始学习。我错过了什么?
答案 0 :(得分:0)
我在理解你的英语方面遇到了一些麻烦,所以我可能误解了你的一些问题。
你用Java称这个对象是什么?你为什么用?
我不知道哪个"反对"你指的是。
...但仍然不知道为什么
this
可能而且this
被称为this
。
它叫做this
。没有其他术语。
类变量?
没有。 this
不是类变量。
创建对象的对象?
(嗯?)号item
不是"对象创建对象"。
在setter方法中,为什么默认值为null?
因为这是Java定义的方式。任何类型为引用类型的实例变量(如null
)的默认初始值为item
。
(为什么?因为从语言的角度来看,这是唯一有意义的价值。还有其他的东西,程序员需要有一些方法来说出默认值。编译器无法读懂你的想法!)
它像String吗?
不确定你的意思。但是,如果您在询问String
是否已使用类型RetailItem item
声明时是否会获得相同的默认值行为,则为是。
从我假设的情况来看,
RetailItem
就像它将整个RetailItem item
类组合在一起并在另一个类中创建一个新变量及其功能。
不完全是。 RealItem
实际上正在做的是声明一个变量,然后您可以在其中放置对null
对象的引用。此变量具有默认值item = new RetailItem();
....直到为其分配了其他值。
RetailItem
是什么意思?
这意味着创建(构造)一个新的item
实例(一个对象),然后将其引用分配给变量/
。
我不知道我在哪里开始学习。
我建议您从一本好的介绍性Java教科书或Oracle Java教程或课程讲义开始。问你的老师。
但要坚持下去。如果你工作,你将达到一切开始有意义的地步。因为,基本的Java是一种简单而一致的语言。当你了解泛型,类型推理/ lambdas和......多线程时,语言才变得复杂。