当前位置: 首页 > 知识库问答 >
问题:

这2行代码有什么区别?[关闭]

黎同
2023-03-14

用这2行代码创建的对象有什么区别?

Person student1 = new Student("Owen Norton", "271 Spilman Street", "0181955341", "OwenNorton@gmail.com", "Freshman");
Student student1 = new Student("Owen Norton", "271 Spilman Street", "0181955341", "OwenNorton@gmail.com", "Freshman");

人员类创建具有姓名地址电话号码电子邮件数据字段的人员。student类是person的子类,它添加了classstatus

共有1个答案

太叔灿
2023-03-14

创建相同的对象,但将其分配给不同的变量类型。

Person student1 = new Student("Owen Norton", "271 Spilman Street", "0181955341", "OwenNorton@gmail.com", "Freshman");
Student student1 = new Student("Owen Norton", "271 Spilman Street", "0181955341", "OwenNorton@gmail.com", "Freshman");

这两行都创建students,但第一行将student分配给person变量,而第二行将student分配给student变量。

您只能将studentS放入student变量中,但可以将任何类型的person(包括student)放入person变量中。

这还意味着,您只能在Person变量中使用Person的功能,而在Student变量中使用Student的全部功能。

如果对象可以包含任何类型的Person(或者某个方法应该可用于任何类型的Person对象,则应使用Person的变量。
但是,如果代码专门用于Student并且需要Student的功能,则应使用Student变量。

 类似资料:
  • 问题内容: 我正在学习用来汇总和发送任务。我下面有一个简单的程序 它什么也没做,但是创建了两个并总共提交了5个任务。每次完成任务后,将执行下一个任务。在上面的代码中,我使用。我也改为了。但我看不出输出有任何区别。以何种方式都和方法有什么不同?这个怎么说 方法提交通过创建并返回一个可以用来取消执行和/或等待完成的Future来扩展基本方法Executor.execute(java.lang.Runn

  • 问题内容: 例如 蚀错误:Intent类型的方法setClass(Context,Class)不适用于参数(FirstActivity.ClickEvent,Class) 但这是正确的。有人能解释两者之间的区别吗?谢谢。 问题答案: 指的是您当前的对象。在您的情况下,您必须在内部类ClickEvent中实现了意图,这就是它所指向的内容。 指向您当前所在活动的实例。

  • 这几行代码有区别吗,用什么最好?谢谢 vs 或

  • 我知道这行代码将某些内容移动到eax寄存器中,但是dword ptr [edx 15Ch]有什么作用? 它是否接受edx中的值并添加15C=Q,然后将地址Q中的值加载到eax中?如果是这样,这个conetxt中的dword ptr是什么意思?

  • 我为Visual Studio代码分析定义了一组规则,并在Sonar(http://www.sonarqube.org/)中配置了这些规则。我得到不同的结果。