long blogs

进一步有进一步惊喜


  • Home
  • Archive
  • Tags
  •  

© 2025 long

Theme Typography by Makito

Proudly published with Hexo

java实例化几种方式

Posted at 2019-08-05 笔记 java 

实例化的几种方式

1、HelloWorld类

1
2
3
4
5
6
7
8
9
10
public class HelloWorld {
private String name;

public void setName(String name) {
this.name = name;
}
public void sayName(){
System.out.println("name="+name);
}
}

2、主类三种实例化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Main {
public static void main(String[] args){
try {
// 第一种实例化
HelloWorld h1 = HelloWorld.class.newInstance();
h1.setName("h1");
h1.sayName();
// 使用类加载器实例化
String name = "com.longquanxiao.instance.HelloWorld";
Class hClass = Class.forName(name);
HelloWorld h2 =(HelloWorld) hClass.newInstance();
h2.setName("h2");
h2.sayName();
// 传统的new实例化
HelloWorld h3 = new HelloWorld();
h3.setName("h3");
h3.sayName();

}catch (Exception e){
e.printStackTrace();
}
}
}

运行结果:

1
2
3
name=h1
name=h2
name=h3

小结

1、使用Class#newInstance()返回实例化的对象
2、使用Class.forName(classpath)获得class对象。然后再使用newInstance()方法进行实例化
3、使用new的传统方式来实例化对象
4、使用newInstance时必须保证(1)这个类已经加载了(2)这个类已经完成连接了
使用class.forName()保证了上述两个条件。使用new就没有那么那么多的限制。

Share 

 Previous post: npm相关 Next post: java反射和动态代理 

© 2025 long

Theme Typography by Makito

Proudly published with Hexo