创建对象差异java

时间:2017-02-06 10:17:38

标签: java oop object

我确信这个问题已经得到了回答,但我不确定这个词的含义是什么,所以要搜索什么。

我不确定:

之间的区别
  JPanel a = new JPanel();
  a = new JPanel();

第二行是否需要在类的顶部声明为变量?

有人可以附上我可以找到有关此主题的链接。我知道这是非常基本的。

2 个答案:

答案 0 :(得分:12)

有三种情况:声明初始化和(声明和初始化):

这是对象的声明:

JPanel a;

对象的初始化:

a = new JPanel();

你可以像往常一样制作这两个步骤:

JPanel a = new JPanel();

答案 1 :(得分:1)

我认为你需要了解什么是强类型语言:

Java是强类型语言

https://en.wikipedia.org/wiki/Strong_and_weak_typing

  

Java,Pascal,Ada和C要求所有变量都具有声明的类型,并支持对其他算术类型使用显式的算术值转换。 Java,C#,Ada和Pascal有时被称为比C更强类型,声称可能基于C支持更多种类的隐式转换,而C也允许在Java和Pascal时显式转换指针值不要。 Java本身可以被认为比Pascal更强类型,因为Java中规避静态类型系统的方式是由Java虚拟机的类型系统控制的。在这方面,C#类似于Java,但它允许通过将代码段明确地放在"不安全的上下文中来禁用动态类型检查。 Pascal的类型系统被描述为“太强大了”,因为数组或字符串的大小是其类型的一部分,使得一些编程任务非常困难