Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 直觉理解_Java - Fatal编程技术网

Java 直觉理解

Java 直觉理解,java,Java,在本页上: 类包含用于从中创建对象的构造函数 班级蓝图。构造函数声明看起来像方法 声明,除非它们使用类的名称并且没有 返回类型。例如,Bicycle有一个构造函数: public Bicycle(int startCadence, int startSpeed, int startGear) { gear = startGear; cadence = startCadence; speed = startSpeed; } 要创建名为myBike的新自行车对象,需要使用构

在本页上:

类包含用于从中创建对象的构造函数 班级蓝图。构造函数声明看起来像方法 声明,除非它们使用类的名称并且没有 返回类型。例如,
Bicycle
有一个构造函数:

public Bicycle(int startCadence, int startSpeed, int startGear) {
    gear = startGear;
    cadence = startCadence;
    speed = startSpeed;
}
要创建名为
myBike
的新自行车对象,需要使用构造函数 由新操作员调用:

Bicycle myBike = new Bicycle(30, 0, 8);
新自行车(30,0,8)
在内存中为对象和 初始化其字段。”

所以我之前和那里都做过JS,声明一个新对象类似于
var newObject=newbicycle(params);

然而,我在这里注意到的是,当您创建一个新对象时,您会说
Bicycle myBike=newbicycle(params);


为什么单词Bicycle使用了两次?它是如何工作的?

第一部分(在
=
定义对象引用之前),第二部分(在
=
之后)构造一个新对象。
=
执行赋值。

第一部分(在
=
定义对象引用之前),第二部分(在
=
之后)构造一个新对象。
=
进行赋值。

在JS中,每个变量都称为
var
类型。它是一种泛型,但在
java
中,每个对象都有一种类型,比如
Bicycle
。因此它基本上取决于语言遵循的语法


Bicycle myBike=新自行车(30,0,8);
在此
Bicycle myBike
中声明了
Bicycle
的引用变量
myBike
类型和
新自行车(30,0,8)
创建
Bicycle
的新实例,初始值为
30,0,8
=/code>将该实例分配给
myBike
变量。

在JS中,每个变量都称为
var
类型。它属于泛型,但在
java
中,每个对象都有一个类似
Bicycle
的类型>这基本上取决于语言所遵循的语法


Bicycle myBike=新自行车(30,0,8);
在此
Bicycle myBike
中声明了
Bicycle
的引用变量
myBike
类型和
新自行车(30,0,8)
创建
Bicycle
的新实例,初始值为
30,0,8
=
将此实例分配给
myBike
变量。

Java更喜欢显式声明对象的预期用途。例如,在sim卡中创建一个整数时,如果使用int,则在前面加上前缀按照ilar的方式,Java编译器希望知道您要创建的对象将是什么。因此,我们必须告诉它它将是一个特定的类。所有Java变量(据我所知)遵循同样的模式。这是语言的设计方式。其他语言通常使用类似的结构,或者有空间容纳var变量

单词Bicycle的第一个实例声明您正在使用的变量类型。第二个实例用于创建Bicycle类型的新对象。单词的第二个用法与调用方法相同


虽然我同意,但在这样的情况下,它似乎有点多余。我认为这是因为Java的面向对象特性,我们需要限制它。(例如,您可能会遇到有趣的情况,对象从其他对象继承).

Java更喜欢显式声明对象的预期用途。例如,当您创建一个整数时,如果使用int作为前缀。同样,Java编译器希望知道您要创建的对象将是什么。因此,我们必须告诉它它将是一个特定的类。所有Java变量(据我所知)遵循同样的模式。这是语言的设计方式。其他语言通常使用类似的结构,或者有空间容纳var变量

单词Bicycle的第一个实例声明您正在使用的变量类型。第二个实例用于创建Bicycle类型的新对象。单词的第二个用法与调用方法相同

虽然我同意,但在这种情况下,它似乎有点多余。我认为这是因为Java的面向对象特性,我们需要限制它(例如,可能会出现对象从其他对象继承的有趣情况)

在“一个声明”中发生的两件主要事情:

一,

这是变量声明,其中指定了变量名称和类型

二,

这是变量初始化,在这里赋值

在“一个声明”中发生的两件主要事情:

一,

这是变量声明,其中指定了变量名称和类型

二,


这是变量初始化,在这里赋值。

在“头先Java”中解释了另一种方法,您可能会发现它更直观一些(对我来说更有意义)

接受这个声明
Bicycle myBike=新自行车(参数);

并将其分解为:

Bicycle myBike;
myBike = new Bicycle(params);
现在将
myBike
想象为遥控器,将
bike(params)
想象为遥控器控制的对象

这两条线是这样说的:

第一行:

制作一个名为myBike的遥控器,用于控制Bicycle类型的对象

然后第二行是:
myBike将控制的特定自行车是一辆具有这些参数的新自行车。

我认为这是一个更直观的解释

按照你的表达方式,它只是把这些语句放在一行中(以节省一些空间)

因此,在等号的左边,您告诉编译器生成一个名为
myBike
的变量,该变量只能链接到类型为
Bicycle的对象
Bicycle myBike;
myBike = new Bicycle(30, 0, 8);
Bicycle myBike;
myBike = new Bicycle(params);