java中为什么存在创建对象时,前后的类名不同
时间: 2023-03-25 12:03:49 浏览: 254
这是因为在Java中,创建对象时需要使用构造函数,而构造函数的名称必须与类名相同。因此,当我们使用new关键字创建对象时,需要在类名后面加上括号,以调用该类的构造函数来创建对象。但是,我们可以在构造函数中使用super关键字来调用父类的构造函数,这时候就可以使用不同的类名来创建对象了。
相关问题
java中创建新对象类名括号中使用this
在Java中,当你使用类名后面的括号来创建一个新的对象时,实际上是在调用该类的构造方法来初始化对象。构造方法是一个特殊的方法,它与类同名,并且没有返回类型。在构造方法中,你可以使用关键字"this"来引用当前对象的实例。
使用"this"关键字可以在构造方法内部引用当前正在创建的对象。它通常用于将构造方法中的参数值赋给对象的实例变量,或者在一个构造方法中调用另一个构造方法(称为构造方法重载)。
例如,假设有一个名为Person的类,其中有一个带有参数的构造方法:
```java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
```
在上面的代码中,构造方法中的参数name和age与类的实例变量name和age同名。为了明确指定要对当前对象的实例变量进行赋值,我们使用了"this"关键字。这样,当我们创建一个新的Person对象时,构造方法中的参数值将会被赋给该对象的实例变量。
java中的构造方法创建对象时没有智能提示
构造方法是用于创建对象的特殊方法,它在Java中没有智能提示是因为构造方法是根据类名来命名的,并且不需要返回类型。在使用构造方法创建对象时,编译器会直接根据类的定义来调用对应的构造方法。
当你创建一个类的对象时,可以使用类名后跟一对括号来调用构造方法。例如,假设你有一个名为`Person`的类,它有一个无参构造方法,你可以这样创建一个对象:
```java
Person person = new Person();
```
如果`Person`类中定义了其他参数的构造方法,你可以根据构造方法的参数列表来调用相应的构造方法。例如,如果有一个带有参数的构造方法:
```java
public Person(String name, int age) {
// 构造方法的逻辑
}
```
则可以这样创建一个带有参数的对象:
```java
Person person = new Person("John", 25);
```
这样的调用方式没有智能提示是因为构造方法的调用是固定的,编译器可以直接根据类的定义来确定调用哪个构造方法。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)