1.接口可以被继承(exyends)&实现(implements)
2.继承是指子类继承父类可以拥有父类的方法和属性;
为什么使用继承:提高代码复用性
扩展原本的方法和属性
什么时候使用继承:新类与某一个类有很多共同属性和方法时
3.封装是指隐藏实现细节,仅对外提供接口;
为什么使用封装:提高代码安全性、复用性
封装细节,便于修改内部代码,提高可维护性
简化外部调用,方便使用,便于扩展和协作
什么时候使用封装:不希望在外部类中随意访问类中的成员变量
4.多态是指同一个对象在不同需求下表现出来的不同形态
实现前提:有继承/实现关系、有方法重写、父类引用指向子类对象(Animal animal = new Cat();)
实现方式:重写、重载、接口
为什么使用多态:提高代码的可扩展性
5.局部变量:方法体内的变量
成员变量:方法体外的变量,直接写在类里
6.问题:Class ‘XXX’ must either be declared abstract or implement abstract method ‘xxx’,该类需要被申明为抽象的,或者实现父类的 ‘xxx’ 方法(抽象方法)
接口只能被接口继承(extends)或者被类实现(implements)。BaseMapper是一个接口,所以在这里继承应该使用interface,不是class。
7.@ApiModelProperty:添加和操作属性模块的数据
8.queryWrapper.last(“limit 1”):取出查询结果的第一条
9.BeanUtils.copyproperties(源对象,目标对象):将目标对象里的内容替换为源对象的,只拷贝复制相同类型 and 相同名称 的属性
10.DTO和moudle的使用场景区别:dto面向ui,modle面向业务代码;condition:查询条件。这三类正常使用应该尽量避免代码重复,多采用继承
11.trim()什么时候用:传入参数为唯一名称的
12.Id一般都是自增,为什么新增前还要对Id进行判空?部分表要求按顺序增删,删除只能从最后一条删除,新增也要确保顺序
13.减少不必要的资源开支;参数注释写清楚;代码测试考虑参数边界