1、获得一个类的类对象有哪些方式?
1、第一种方式:通过类本身来获得类对象
Class classname=this.getClass();
2、第二种方式:通过子类的实例来获得父类的类对象
Son son=new Son();
Class sonClass=son.getClass();
Class fatherClass=sonClass.getSuperClass();
3、第三种方式
通过类名加.class获取类对象
Class student=Student.class;
2、String s=new String(“XYZ”);创建了几个对象?
当常量池中已经存在"XYZ"时,只创建一个对象
当常量池没有创建"XYZ"时,创建了两个对象
3、写出熟悉的JSTL标签
<c:if> <c:when> <c:forEach> <c:import> <c:set> <c:out>
<c:choose> <c:param> <c:redirect> <c:url>
4、switch的可用参数类型有哪些?
char、byte、short、int 和 Character、Byte、Short、Integer 和 String
5、触发器的作用?
在数据库中,假如emp和dept两张表有关联关系,当emp存在相关数据时,dept无法删除。这时候就需要触发器来触发了,让dept删除的同时也使emp表的数据发生改变。
6、什么是存储过程?用什么来调用
存储过程是一个预编译的SQL语句,比如一些场景的sql比较复杂,并且需要经常使用或者多次使用的。存储过程的优点是说只需创建一次编译一次,以后在该程序就可以多次直接调用。
存储过程调用时只需要提供存储过程名和必要的参数信息,从而可降低网络的流量。
7、已知有如下4张表:
学生表:STUDENT(S#,SNAME,SAGE,SSEX)
课程表:COURSE(C#,CNAME,T#)
成绩表:SC(S#,C#,SCORE)
教师表:TEACHER(T#,TNAME)
其中,
1)学生表里的字段含义:
S#代表学号,SNAME代表学生姓名,SAGE代表学生年龄,SSEX代表学生性别
2)课程表里的字段含义:C#代表课程编号,CNAME代表课程名字,T#代表教师编号,
3)成绩表
S#代表学号,C#代表课程编号,SCORE代表成绩
4)教师表的字段含义:
T#代表教师编号,TNAME代表教师姓名
问题:
①查询课程编号为“001”的课程比“002”的课程成绩高的所有学生的学号
②查询所有课程成绩小于60分的学生的学号、姓名
③查询所有学生的学号、姓名、选课数、总成绩