目录
11. XML 和 JSON的格式和特点以及json 的转义方式 7
14. JSP/JS/AJAX/Cookie/HTML/CSS 10
16.JDK基本组件包括
17.maven的好处
18.Gitlab权限说明
19.举例5个常用包、类、接口、设计模式
面向对象程序设计:将一个对象的特征和行为抽象成属性和方法封装在类中,并利用多个对象之间的交互通信形成程序。
三大特性:
封装:将一个对象的特征和行为抽象成属性和方法封装在类中。
继承:子类继承父类的属性和方法,即子承父业。
多态:通过父类调用子类方法,即同一消息可以根据发送对象的不同而采用多种不同的行为方式。
六大原则:
单一职责原则:一个类,最好只做一件事,只有一个引起它的变化。
开放封闭原则(OCP):软件的功能应该是可扩展的,而尽可能的不修改。
里氏(Liskov)替换原则(LSP):子类必须能够替换基类。
依赖倒置原则(DIP):依赖于抽象,即高层模块不依赖底层模块,二者都通依赖于抽象。/客户类和服务类都应该依赖于抽象(接口),并且客户类拥有接口。
接口隔离原则:使用多个小的专门的接口,而不要使用一个大的总接口。
合成复用原则(Composite Reuse Principle):原则是尽量首先使用合成/聚合的方式,而不是使用继承
8种基本数据类型:byte、short、char、int、long、float、double、boolean
变量定义格式:(1)以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始;
(2)关键字不能用作标识符;
(3)标识符是大小写敏感的
类型转换:从低级到高级-----自然转换,反向要强制类型转换。可能精度损失,舍弃小数变整型。
List分为:
ArrayList:顺序表,适合更新、查询。
LinkedList:链表,适合插入、删除。
Set分为:
HashSet:无序,不重复
LinkedHashSet:存取有序,不重复
TreeSet:自动排序,不重复
map分为:键值对
HashMap:无序
LinkedHashMap:存取有序
TreeMap:自动排序
遍历基本方式:(1)for循环遍历;(2)Iterator迭代器遍历;(3)foreach循环遍历。
@Test
/**
* @author yto_yh
* ArrayList示例
* 适用于查询、修改
* 一下遍历方式set通用
*/
public void test() {
List<Integer> num= Arrays.asList(1,2,3,4,5);
System.out.println("初始:"+num);
//Iterator迭代器遍历
System.out.print("第一种遍历:");
Iterator<Integer> it=num.iterator();
while(it.hasNext()) {
System.out.print(it.next()+" ");
}
//for循环遍历
System.out.print("\n第二种遍历:");
for(Iterator<Integer> it1=num.iterator();it1.hasNext();) {
System.out.print(it1.next()+" ");
}
//forEach遍历
System.out.print("\n第三种遍历:");
for(int i:num) {
System.out.print(i+" ");
}
//lambda表达式遍历
System.out.print("\n第四种遍历:");
num.forEach(i->System.out.print(i+" "));
//System.out::print遍历
System.out.print("\n第五种遍历:");
num.forEach(System.out::print);
}
public static final 形式的常量定义的缺点:类型不安全、没有命名空间、一致性差
创建枚举类型要使用enum关键字,且都是java.lang.Enum类的子类(java.lang.Enum是一个抽象类),类型安全。
- 枚举类的名称一般以Enum结尾
- 可以使用==直接来比较值
- 枚举的构造方法默认且只能是private的。
- 只能覆盖toString方法
- 两个方便操作enum的工具类——EnumSet 和 EnumMap。
values():返回 enum 实例的数组,而且该数组中的元素严格保持在 enum 中声明时的顺序
name():返回实例名。
ordinal():返回实例声明时的次序,从0开始。
getDeclaringClass():返回实例所属的 enum 类型。
equals():判断是否