1.Switch的参数类型
Only convertible int values, strings or enum variables are permitted
只允许使用可转换的int值,字符串或枚举变量
byte、char、short、int、String可以使用
long、float、double、boolean不可以使用
以及他们对应的包装类
2. char型变量中能不能存贮一个中国汉字?为什么?
char型变量是用来存贮Unicode编码的字符,Unicode编码字符集中包含了汉字,所以可以存贮汉字。
但是有些特殊的汉字并没有包含在Unicode中,那么char型就不可以存贮这些特殊汉字。
Unicode编码占用2个字符,所以char长度为两个字节。
3.重写和重载
- 重写
子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
返回值类型小于父类、访问权限小于父类、抛出异常小于父类
- 参数列表必须完全相同。
- 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)。
- 访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为 public,那么在子类中重写该方法就不能声明为 protected。
- 父类的成员方法只能被它的子类重写。
- 声明为 final 的方法不能被重写。
- 声明为 static 的方法不能被重写,但是能够被再次声明。
- 子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为 private 和 final 的方法。
- 子类和父类不在同一个包中,那么子类只能够重写父类的声明为 public 和 protected 的非 final 方法。
- 重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。
- 构造方法不能被重写。
- 如果不能继承一个方法,则不能重写这个方法。
- 重载
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
参数列表必须不同、返回值类型可以不同、访问权限可以不同、抛出异常可以不同
- 被重载的方法必须改变参数列表(参数个数或类型不一样);
- 被重载的方法可以改变返回类型;
- 被重载的方法可以改变访问修饰符;
- 被重载的方法可以声明新的或更广的检查异常;
- 方法能够在同一个类中或者在一个子类中被重载。
- 无法以返回值类型作为重载函数的区分标准。
4.多态
同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。
1.运行时多态
1.父类指向子类
2.重写
3.继承
2.编译时多态
1.重载
5.常用集合初始容量以及扩容
6.JSP的include
- 静态包含:<%@ include file = “包含的页面”%>
- 动态包含:<jsp:include page=“包含的页面” flush=“true”/>
7.JDBC访问数据库的基本步骤
1.加载驱动:Class.forName(“com.mysql.jdbc.Driver”);
2.通过DriverManager对象获取Connection:
Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/eshop”, “root”, “123456”);
3.通过连接对象获取会话:Statement st = con.createStatement();
4.通过会话进行数据的增删改查,封装对象: ResultSet rs = st.executeQuery(“select *from user”);
5.关闭资源:rs.close(); con.close();