MyClass obj=new();
时间: 2023-10-02 11:07:40 浏览: 101
这是一个Java中创建对象的语句。其中,`MyClass`是一个类名,`obj`是对象的引用变量名,`new MyClass()`则是创建一个`MyClass`类的对象,并将其引用赋值给`obj`变量。
需要注意的是,如果`MyClass`类没有默认的构造函数,那么创建对象的语句需要按照类的构造函数的参数列表传递对应的参数,例如:
```java
MyClass obj = new MyClass(1, "hello");
```
这个语句会调用`MyClass`类中带有一个整型和一个字符串参数的构造函数,创建一个对象,并将其引用赋值给`obj`变量。
相关问题
那int *obj=new Myclass (10,20);和Myclass *obj=new Myclass(10,20);的区别是什么
### 回答1:
这两个语句的区别在于它们创建的对象类型不同。
第一个语句创建的是一个指向 Myclass 对象的指针,而这个指针是通过 new 运算符分配的内存来存储的。这个指针被声明为一个 int 指针,因此在使用这个指针访问 Myclass 对象时需要进行类型转换。
第二个语句直接创建了一个 Myclass 对象,并将其地址赋值给一个 Myclass 指针。这个指针可以直接用于访问 Myclass 对象的成员。
因此,第一个语句可以用于创建任何类型的对象(只要进行相应的类型转换),而第二个语句只能用于创建 Myclass 类型的对象。
### 回答2:
"int *obj=new Myclass(10,20);" 和 "Myclass *obj=new Myclass(10,20);" 的区别在于对象类型和内存分配方式。
"int *obj=new Myclass(10,20);" 创建了一个指向 Myclass 类型对象的整型指针。这意味着通过指针 obj,我们可以访问 Myclass 对象的内存地址,但无法直接使用 Myclass 类的成员函数和成员变量,因为 obj 是一个整型指针,而不是 Myclass 类型的指针。这种情况下,我们需要使用强制类型转换来将指针转换为正确的类型,并以正确的方式使用。
相反,"Myclass *obj=new Myclass(10,20);" 创建了一个指向 Myclass 类型对象的指针。这意味着通过指针 obj,我们可以直接访问 Myclass 类的成员函数和成员变量,因为 obj 是一个 Myclass 类型的指针,它指向分配的 Myclass 类型的对象。我们可以通过 obj 调用 Myclass 类的方法和访问其成员变量,而无需进行强制类型转换。
总结起来,"int *obj=new Myclass(10,20);" 创建了一个指向 Myclass 类对象的整型指针,而 "Myclass *obj=new Myclass(10,20);" 创建了一个直接指向 Myclass 类对象的指针。这两种方式的主要区别在于创建的指针类型和相应的内存访问权限。
### 回答3:
int *obj=new Myclass (10,20); 和 Myclass *obj=new Myclass (10,20); 的区别在于对象的类型不同。
第一个表示的是通过"new"操作符创建了一个"int"类型的指针变量"obj",并将其初始化为指向一个"Myclass"类型的新对象。这里使用int类型的指针来指向Myclass类型的对象,可能是因为Myclass类中有一个转换构造函数可以将两个int类型的参数转换为对象的类型。
第二个表示的是直接创建了一个"Myclass"类型的指针变量"obj",并将其初始化为指向一个具有10和20作为参数的新对象。这里直接创建的是Myclass类型的对象,不需要通过int类型的指针进行转换。
总的来说,第一个表示的是通过int类型的指针来指向一个Myclass类型的对象,而第二个则直接创建了一个Myclass类型的指针变量。这两种方式在使用和处理对象时可能会有不同的方式和需求。
Object obj=new Object();
这段代码创建了一个名为`obj`的`Object`类实例。`Object`是Java中所有类的父类,因此`obj`是一个可以代表任何对象的引用。这个引用可以用来调用`Object`类中定义的方法,如`equals()`, `hashCode()`, `toString()`等。由于`Object`类是所有类的基类,因此这个实例可以被用来引用任何对象,包括自定义类的对象,如:
```
MyClass myObj = new MyClass();
Object obj = myObj;
```
这里,`obj`被赋值为`myObj`的引用,因为`MyClass`是`Object`类的子类,所以`myObj`可以被当作`Object`类型的对象引用。
阅读全文
相关推荐
















