Studnet s = new Student(); Studnet s1 = new Student(1,'L',100); 这两句创建对象有什么相同和不同点?s和s1被称为什么变量
时间: 2024-04-20 19:25:24 浏览: 185
这两句代码都是用于创建对象,并且都是创建了一个名为"Student"的类的实例。它们的相同点是都使用了"new"关键字来分配内存空间,并且都调用了"Student"类的构造方法来初始化对象。
不同点是,第一句代码创建了一个默认构造方法的对象,而第二句代码创建了一个带有参数的构造方法的对象。在第二句代码中,构造方法接收了三个参数:1、'L'、100,并将它们分别赋值给了对象的属性。
s和s1被称为对象变量或者实例变量,因为它们是用来引用这些对象的变量。
相关问题
补充代码,使用3种方法通过反射获取相应的对象。获取的class对象分别赋值给studentClass1,studentClass2,studentClass3。package step1; public class Reflection{ public static void main(String[] args) { Class <?> studentClass1 = null; Class <?> studentClass2 = null; Class <?> studentClass3 = null; // ---------------------Begin------------------------ // Studnet 类的路径为 "step1.Student" // ---------------------End------------------------ System.out.println(studentClass1); System.out.println(studentClass2); System.out.println(studentClass3); } }
package step1;
public class Reflection {
public static void main(String[] args) {
Class<?> studentClass1 = null;
Class<?> studentClass2 = null;
Class<?> studentClass3 = null;
// 方法一:通过类名.class获取Class对象
studentClass1 = Student.class;
// 方法二:通过对象.getClass()获取Class对象
Student student = new Student();
studentClass2 = student.getClass();
// 方法三:通过Class.forName获取Class对象
try {
studentClass3 = Class.forName("step1.Student");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
System.out.println(studentClass1);
System.out.println(studentClass2);
System.out.println(studentClass3);
}
}
package step1; public class Reflection{ public static void main(String[] args) { Class <?> studentClass1 = null; Class <?> studentClass2 = null; Class <?> studentClass3 = null; // ---------------------Begin------------------------ // Studnet 类的路径为 "step1.Student" // ---------------------End------------------------ System.out.println(studentClass1); System.out.println(studentClass2); System.out.println(studentClass3); } }
你想问的是,如何将类的路径转换为 Class 对象?答案是可以使用 Class.forName() 方法,例如:
```
Class<?> studentClass = Class.forName("step1.Student");
```
这个方法会返回一个表示该类的 Class 对象。在上面的代码中,我们可以将 "step1.Student" 替换成任何类的路径,以获取对应的 Class 对象。
阅读全文
相关推荐















