能不能自己写个类,也叫 java.lang.String?【面试题详解】

今天爱分享给大家带来能不能自己写个类,也叫 java.lang.String?【面试题详解】,希望能够帮助到大家。
可以,但在应用的时候,需要用自己的类加载器去加载,否则,系统的类加载器永远只
是去加载jre.jar包中的那个java.lang.String。由于在tomcat的web应用程序中,都是由
webapp自己的类加载器先自己加载WEB-INF/classess目录中的类,然后才委托上级的类加载
器加载,如果我们在tomcat的web应用程序中写一个java.lang.String,这时候Servlet程序加载的就是我们自己写的java.lang.String,但是这么干就会出很多潜在的问题,原来所有
用了java.lang.String类的都将出现问题。
虽然java提供了endorsed技术,可以覆盖jdk中的某些类,具体做法是….。但是,能够被覆
盖的类是有限制范围,反正不包括java.lang这样的包中的类。
例如,运行下面的程序:


package java.lang;
public class String {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("string");
}
}


报告的错误如下:



java.lang.NoSuchMethodError: main
Exception in thread "main"

这是因为加载了jre自带的java.lang.String,而该类中没有main方法。

原文链接:https://blog.itblood.com/2618.html,转载请注明出处。
0
年轻黑帮老板莉莉卡的妓院管理[PC+安卓/1.23G] [日系RPG/AI汉化]
年轻黑帮老板莉莉卡的妓院管理[PC+安卓/1.23G] [日系RPG/AI汉化]
6分钟前 有人购买 去瞅瞅看

站点公告

显示验证码
没有账号?注册  忘记密码?