在java中创建对象
我相信这个问题已经得到了回答,但我不确定这个词是什么,所以搜索什么 我不确定以下两者之间的区别:在java中创建对象,java,oop,object,Java,Oop,Object,我相信这个问题已经得到了回答,但我不确定这个词是什么,所以搜索什么 我不确定以下两者之间的区别: JPanel a = new JPanel(); a = new JPanel(); 在第二行中,是否需要在类的顶部声明一个变量 有人能帮我附上一个链接,我可以在这里找到这个话题。我知道这是非常基本的。有三种情况:声明,初始化,和(声明和初始化): 这是您的对象声明: JPanel a; 此对象的初始化: a = new JPanel(); 您可以像这样一步到位: JPanel a =
JPanel a = new JPanel();
a = new JPanel();
在第二行中,是否需要在类的顶部声明一个变量
有人能帮我附上一个链接,我可以在这里找到这个话题。我知道这是非常基本的。有三种情况:声明,初始化,和(声明和初始化): 这是您的对象声明:
JPanel a;
此对象的初始化:
a = new JPanel();
您可以像这样一步到位:
JPanel a = new JPanel();
我认为您需要了解什么是强类型语言: Java是强类型语言 Java、Pascal、Ada和C要求所有变量都有一个声明的类型,并支持将算术值显式转换为其他算术类型。Java、C#、Ada和Pascal有时被称为比C更强类型,这一说法可能是基于C支持更多类型的隐式转换,C还允许显式转换指针值,而Java和Pascal则不支持。Java本身可能被认为比Pascal更具有强类型,因为Java中避免静态类型系统的方式是由Java虚拟机的类型系统控制的。C#在这方面与Java类似,尽管它允许通过显式地将代码段置于“不安全上下文”中来禁用动态类型检查。Pascal的类型系统被描述为“太强”,因为数组或字符串的大小是其类型的一部分,使得一些编程任务非常困难
在第一行中,将
a
声明为JPanel
,然后为其分配一个新对象。在第二行中,您只给它分配了一个新对象,它需要事先声明(作为JPanel
或它扩展的一个类/接口)。此外,我发现这是一个很好的起点,请参见@YCF_L answer,换句话说,您不能在没有声明的情况下通过new
关键字初始化对象a
。在Java中,您必须在初始化之前声明对象的类型(通过JPanel a,这意味着我想要一个JPanel类型的对象a
)。