基础二
1.若要实现一个接口为普通类则必须实现接口的所有抽象方法
2.接口可以继承接口,并且可以继承多个接口,implement,但是类只允许单一继承。
import java.util.Date;
public class SuperTest extends Date{
private static final long serialVersionUID = 1L;
private void test(){
System.out.println(super.getClass().getName());
}
public static void main(String[]args){
new SuperTest().test();
}
}
output:test.SuperTest
4.线程安全的类:
- vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用;
- statck:堆栈类,先进后出;
- hashtable:比hashmap多个线程安全
- enumeration:枚举,相当于迭代器
package TestJava;
/*
* @Author: jun
* @Date:2022/11/9 23:08
* @概述:
*/
public class StringTest {
public static void main(String[] args) {
String s1 = "coder";
String s2 = "coder";
String s3 = "coder" + s2;//是创建的对象,在堆中
String s4 = "coder" + "coder";//指向字符串常量池的对象
String s5 = s1 + s2;//也是指向字符串常量中对象
System.out.println(s3 == s4);
System.out.println(s3 == s5);
System.out.println(s4 == "codercoder");
System.out.println("s3:"+s3);
System.out.println("s5:"+s5);
System.out.println(s4 == s5);
}
}
output:
false
false
true
s3:codercoder
s5:codercoder
false
6.还是一道编程题
String a="Hello";
String b=a.substring(0,2);
output:He
简记:前闭后开。
7.检查型异常:
\1. 粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被捕捉处理,命名为 Checked Exception 是因为Java编译器要进行检查,Java虚拟机也要进行检查,以确保这个规则得到遵守.
\2. 绿色的异常是运行时异常(runtime exceptions),需要程序员自己分析代码决定是否捕获和处理,比如 空指针,被0除…
\3. 而声明为Error的,则属于严重错误,如系统崩溃、虚拟机错误、动态链接失败等,这些错误无法恢复或者不可能捕捉,将导致应用程序中断,Error不需要捕捉。
8.static修饰的语句或变量的特点是:
- 随着类的加载而加载
- 优先于对象存在
- 为所有的对象共享
- 可以使用类名调用,即类方法
attention:
静态方法只能访问静态成员
静态方法不能使用this和super关键字
主函数为静态函数
9.@Transactional可以作用在类上,代表这个类的所有公共非静态方法都将启用事务。
10.SpringMVC 五大核心组件
1.DispatcherServlet 请求入口
2.HandlerMapping 请求派发,负责请求和控制器建立一一对应的关系
3.Controller 处理器
4.ModelAndView 封装模型信息和视图信息
入口
2.HandlerMapping 请求派发,负责请求和控制器建立一一对应的关系
3.Controller 处理器
4.ModelAndView 封装模型信息和视图信息
5.ViewResolver 视图处理器,定位页面