一、抽象类和抽象方法 abstract
抽象方法:在类中没有方法体的方法,就是抽象方法。
抽象类:含有抽象方法的类就叫抽象类。
抽象类中的抽象方法必须被实现!
如果一个子类没有实现父类中的抽象方法,则子类也成为了一个抽象类!
抽象类中的普通方法,可以不必实现。
1 、用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时
,该方法叫做抽象方法。例如 :
abstract class Animal { //用abstract来定义一个Animal为抽象类
}
public abstract void enjoy(); //用abstract来定义一个抽象方法"enjoy"
2、 含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
3、 抽象类不能被实例化。
4、 抽象方法只需声明,而不需实现某些功能。
二、切换验证码
<script type="text/javascript">
$(function(){
//切换验证码图片
$("#ImgOut,#ImgIn").click(function(){
//每次点击改变路径
$("#ImgOut").attr("src","../CheckImage?msg="+new Date
());
});
</script>
三、哈希吗hashcode值
1、哈希吗的作用
hashCode方法的作用
当集合要添加新的对象时,先调用这个对象的hashCode方法,得到对应的hashcode值,实际上在HashMap的具体实现中会用一个table保存已经存进去的对象的hashcode值,如果table中没有该hashcode值,它就可以直接存进去,不用再进行任何比较了;如果存在该hashcode值, 就调用它的equals方法与新元素进行比较,相同的话就不存了,不相同就散列其它的地址,所以这里存在一个冲突解决的问题,这样一来实际调用equals方法的次数就大大降低了,说通俗一点:Java中的hashCode方法就是根据一定的规则将与对象相关的信息(比如对象的存储地址,对象的字段等)映射成一个数值,这个数值称作为散列值;
hashCode方法的存在是为了减少equals方法的调用次数,从而提高程序效率。
因此有人会说,可以直接根据hashcode值判断两个对象是否相等吗?肯定是不可 以的,因为不同的对象可能会生成相同的hashcode值。虽然不能根据hashcode值判断两个对象是否相等,但是可以直接根据hashcode值判 断两个对象不等,如果两个对象的hashcode值不等,则必定是两个不同的对象。如果要判断两个对象是否真正相等,必须通过equals方法。
也就是说对于两个对象,如果调用equals方法得到的结果为true,则两个对象的hashcode值必定相等;
如果equals方法得到的结果为false,则两个对象的hashcode值不一定不同;
如果两个对象的hashcode值不等,则equals方法得到的结果必定为false;
如果两个对象的hashcode值相等,则equals方法得到的结果未知。
1, jsp中的九大内置对象和四大范围对象
九大内置对象out response request pagecontext session application config page exception
jsp四大范围对象:page request session application
2, 简述EL表达式的作用及隐含对象
EL表达式作用:使jsp的代码更加的简捷
与范围相关的隐含对象:pageScope requestScope sessionScope applicationScope
与输入相关的对象:param paramValues
其他隐含对象:cookie header headerValues initParam pageContext
3, Jsp中静态的include 和动态的include的区别
静态include 语法:<%@ include file=”file”%>相对于当前文件 静态页面的导入 不会检查当前文件的变化
动态include 语法:<jsp:include page=”page” />相对于当前页面 动态网页的导入 始终会检查当前页面的变化
4, SERVLET API中forward() 和sendirect()的区别
Forward()转发:由服务器访问指定的url,地址栏不会发生变化,客户端只请求了一次,转发的过程中服务器可以获取客户端的其他请求
Sendirect()重定向:由客户端重新发送请求url 地址栏的地址发生变化,客户端至少请求了2次,在定向的过程中服务器不能接受客户端的其他请求。
5, JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么
jsp和servlet的区别和联系:
1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.
Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
联系: JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。