1 new
用new是最常见的方式,new可以创建一个对象
如
Student s1 = new Student()
注意:
Student s2 = s1;
这里没有new,所以并没有创建新的对象,s2, s1指向了同一对象
2 字面常量对象
如
String s = "afanihao";
则s指向了一个常量对象,这里并没有new,但是右侧有一个对象
再比如
Integer a = 123;
这里没有new,但是右侧有一个对象。这处方式适合于基本数据类型,如String , Integer, Double等
3 反射
利用反射机制,可以根据 Class得到一个实例
Class cls = Student.class;
Object a = cls.getInstance( ); // 得到一个对象
Student s = (Student) a;
使用 getInstance() 可以创建一个对象
最后,还有一种对象,
Class cls = Class.forName ("my.Student")
这里的 cls 也是一个对象,类型为 Class。听起有点别扭。这个对象是存在元究竟 Metaspace里的,和上面的普通对象不一样。
具体可以参考 『Java学习指南 - 反射与框架篇』,里面有详细的介绍。