1.
Class clazz = Class.forName("java.lang.String");
Object obj = clazz.newInstance();
String str = (String)obj;
Reason for downcasting:
It is because of the java compiler. In compilation phase the compiler cannot know about the real object type when you call newInstance() method.The argument to Clas.forName() could be anything, even an invalid class name.
2.
Drawbcak of Reflection: lack of compile time error checking, maybe the loss of performance
3.
Class.newInstance()
IllegalAccessException: constructor is prviate or otherwise unavailable.
ExceptionInInitializationError: initialization error
SecurityException: security policy
4.
Classloader
Factory Method
Java disallows calling a getClass() method in its constructor since a object may not be formed fully and initialized yet.
5.
Java name space
<c, p, cl>
最后
以上就是忧伤中心最近收集整理的关于Study Notes (1) of《Server-Based Java Programming》的全部内容,更多相关Study内容请搜索靠谱客的其他文章。
发表评论 取消回复