Java面试01

1.一个java文件里,public 的类只能出现一个,只能出现一个,只能出现一个,否则,不管你用哪一个类名命名文件名编译器都会报错
2.关于多态。子类继承了父类的所有成员,包括private权限的成员变量,但是继承的子类具有私有变量的拥有权但是没有使用权。
3.private的成员变量,根据权限修饰符的访问控制范围,只有在类内部才能被访问,就算是他的子类,也不能访问

4.子类构造方法在调用时必须先调用父类的,由于父类没有无参构造,必须在子类中显式调用
5.Java为单继承,多实现。
6.接口可以定义成员,必须为常量。
7.抽象类和接口类都不能实例化对象,任何编译器会报错,
8.接口中的成员变量  static final修饰
9.Java 7之前每个catch块只能不住一种类型的异常;Java 7之后开始一个catch块可以捕捉多个类型的异常

{多种异常之间用(|)隔开}
{异常变量用隐式的final修饰,程序不能多异常变量重现赋值}
10.会话跟踪:
{1.session   2.隐藏域  3. cookie  4.地址重写}


11. HasTable 与HasMap区别:

    public class HasTable extends Dictionary impements Map
    
    public class HasMap extends AbstracMap implements Map

Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。

12. 

     forward,服务器获取跳转页面内容传给用户,用户地址栏不变
redirect,是服务器向用户发送转向的地址,redirect后地址栏变成新的地址
13.       
被final修饰的变量是常量,这里的b6=b4+b5可以看成是b6=10;在编译时就已经变为b6=10了
而b1和b2是byte类型,java中进行计算时候将他们提升为int类型,再进行计算,b1+b2计算后已经是int类型,赋值给b3,b3是byte类型,类型不匹配,编译不会通过,需要进行强制转换。
Java中的byte,short,char进行计算时都会提升为int类型。

14.  |左右都看  ||  左边正确右边不用看

15.   

A: request.getCookies(); 取得设置Cookies
B: request.getHeader(String s); 读取写入HTTP头标
C: response.setContentType("text/html;charset=utf-8"); 取得路径信息
C: request.getContextPath();/request.getServletPath(); 标识HTTP会话


16. 静态变量只能在类主体定义不能在方法中定义,静态变量属于类不属于方法。

17. Java是强类型语言,所有方法必须在类里边。

      public void main(String args[]){} 为函数入口。

    内部类类名可以和文件名不一样,

18. 

ServletContext对象:servlet容器在启动时会加载web应用,并为每个web应用创建唯一的servlet context对象,可以把ServletContext看成是一个Web应用的 服务器端组件的共享内存,在ServletContext中可以存放共享数据。ServletContext对象是真正的一个全局对象,凡是web容器中的Servlet都可以访问。
   整个web应用只有唯一的一个ServletContext对象
servletConfig对象:用于封装servlet的配置信息。从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对servlet自身有效,一个servlet的ServletConfig对象不能被另一个servlet访问。

19.      java的变量名有三种元素构成:数字+字符+$+下划线  不能有空格

 









你可能感兴趣的:(易错点)