什么情况下,编译时需要某个类,而运行时不需要?
可以举个例子吗?

解决方案 »

  1.   

    编译时需要,而运行时不需要:import一个没用到的类
    编译时不需要,而运行时需要:反射 Class date= Class.forName("java.util.Date");
      

  2.   

    比如maven项目中的servlet-api,一般设置为provided就是因为编译时需要,也许你用了HttpServletRequest这种类,但运行时tomcat是自带这些的,所以就不需要了,也就不会把这个jar打包进去
      

  3.   

    多态的向上转型是 FU fu = new zi() , fu.eat(),编译时需要父类,运行时需要调用子类的方法,这样对否
      

  4.   

    写servlet的时候,编译需要javaee,但是部署运行的时候,servlet容器自带javaee包,就不需要这个类了