1、interface中定义常量
public interface ConstVal {
String MODULE_NAME = "ModuleName";
String ENTITY = "Entity";
String SERVICE = "Service";
String SERVICE_IMPL = "ServiceImpl";
String MAPPER = "Mapper";
String XML = "Xml";
String CONTROLLER = "Controller";
String OTHER = "Other";
String PARENT = "Parent";
String JAVA_TMPDIR = "java.io.tmpdir";
String UTF8 = StandardCharsets.UTF_8.name();
String UNDERLINE = "_";
String JAVA_SUFFIX = StringPool.DOT_JAVA;
String KT_SUFFIX = ".kt";
String XML_SUFFIX = ".xml";
/**
* 实体模板路径
*/
String TEMPLATE_ENTITY_JAVA = "/templates/entity.java";
/**
* 实体模板路径(kotlin模板)
*/
String TEMPLATE_ENTITY_KT = "/templates/entity.kt";
/**
* 控制器模板路径
*/
String TEMPLATE_CONTROLLER = "/templates/controller.java";
/**
* Mapper模板路径
*/
String TEMPLATE_MAPPER = "/templates/mapper.java";
/**
* MapperXml模板路径
*/
String TEMPLATE_XML = "/templates/mapper.xml";
/**
* Service模板路径
*/
String TEMPLATE_SERVICE = "/templates/service.java";
/**
* ServiceImpl模板路径
*/
String TEMPLATE_SERVICE_IMPL = "/templates/serviceImpl.java";
String VM_LOAD_PATH_KEY = "file.resource.loader.class";
String VM_LOAD_PATH_VALUE = "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader";
String SUPER_MAPPER_CLASS = "com.baomidou.mybatisplus.core.mapper.BaseMapper";
String SUPER_SERVICE_CLASS = "com.baomidou.mybatisplus.extension.service.IService";
String SUPER_SERVICE_IMPL_CLASS = "com.baomidou.mybatisplus.extension.service.impl.ServiceImpl";
interface ComplaintType {
int URL = 0;
int USER = 1;
int GROUP = 23;
}
}
2、 interface与abstract的相同点:
(1)都是没有具体实现,需要继承类进行实现;
(2)无法直接调用;
(3)interface算是抽象类的特例;
3、 interface和abstract的区别:
(1)interface无构造方法,abstract类可以有构造方法;
(2)abstract类中可以有普通成员变量和普通成员方法,interface 只有抽象方法(可以有普通成员方法,但不建议);
(3)abstract类的访问类型可以是public或是protected,但interface默认的访问类型就是public abstract