AndroidStudio4.0 New Class的坑(小结)
作者:Eshel 发布时间:2022-07-29 15:06:48
AndroidStudio升级后, 新建类变成了下面这个样子, 并且默认还没有修饰符, 一堆大写的英文看的我一脸懵逼, 后来在
stackoverflow 上看到了这几个参数的含义:
IMPORT BLOCK 说白了就是导包(谁家导包会手动写呀[捂脸])
VISIBILITY 值为PUBLIC或 PACKAGE_PRIVATE 或不填 分别对应public修饰符 private 修饰符和没有修饰符 (我一般新建类都默认public修饰符, 默认没有修饰符感觉贼不方便)
FINAL 就是类是否加final修饰
SUPERCLASS 就是指定父类
INTERFACES 指定接口
后来发现这些东西都是可以配置的, 可以根据自己的需求进行模板的修改, 关于模板语法可以参考这个链接: http://velocity.apache.org/engine/devel/user-guide.html
我这里对模板进行了一些修改:
我觉得IMPORT BLOCK没用, 所以我删掉了
我觉得大写不好理解, 所以换成小写了
我一般新建类都是public的, 所以我把默认配置改为public了
TRUE or FALSE 写着太麻烦, 所以我换成1 跟 0了
修改后的模板如下:
#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
#if(${not_public_1_or_0} != "1")public #end #if (${abstract_1_or_0} == "1")abstract #end #if (${final_1_or_0} == "1")final #end class ${NAME} #if (${superClass} != "")extends ${superClass} #end #if (${interfaces} != "")implements ${interfaces} #end {
}
再次点击 new Class :
需要注意的是:
${NAME}
这个不能改, 这个对应 New Java Class 弹窗中填写的 name, 改了Name就要填两遍了
模板不支持中文, 使用中文将报错
最后贴上改之前的模板, 如果想要把模板还原回去, 可以从这里copy
#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")
#if (${VISIBILITY} == "public") public #end #if (${ABSTRACT} == "true")abstract #end #if (${FINAL} == "true")final #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "") implements ${INTERFACES} #end {
}
来源:https://blog.csdn.net/qq_27070117/article/details/107036939
猜你喜欢
- Map 中ConcurrentHashMap是线程安全的,但不是所有操作都是,例如get()之后再put()就不是了,这时使用merge()
- 1、冒泡排序排序原理:相邻两个元素比较,如果前者比后者大,则交换两个元素。每执行一次,都会确定一个最大值,其位置就固定了,下一次就不需要再参
- 由于项目需要,需要用vs窗体程序实现播放视频的窗口的全屏和取消全屏。具体实现界面如图:这是初始状态,视频框的右上角就是控制全屏的按钮这是全屏
- 环境搭建创建Maven项目。pom.xml文件中引入RocketMQ依赖。<dependencies>  
- IDEA单元测试报错:Class not found:xxxx springboot报错引入了新依赖,想着在测试模块进行测试。结果报错说Cl
- JdbcTypeInterceptor运行时自动添加 jdbcType 属性 * 签名@Intercepts({
- 这篇文章主要介绍了如何使用HttpClient发送java对象到服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学
- 缘由:今天好友拿着下面的代码,问我为什么 Map.Entry 这个接口没有实现 getKey() 和 getValue() 方法,却可以使用
- 前言dynamic-tp是一个轻量级的动态线程池插件,它是一个基于配置中心的动态线程池,线程池的参数可以通过配置中心配置进行动态的修改,在配
- 本文实例讲述了Java设计模式之抽象工厂模式。分享给大家供大家参考,具体如下:具体工厂类:生产创建某一类具体产品对象。抽象产品类可以使用接口
- 当键盘敲下后退键(Backspace)后1、禁止浏览器自动后退2、但不影响密码、单行文本、多行文本输入框等的回退操作<script t
- 今天没有继续学习新知识点,画出了一个随鼠标画出的 图形,知识点全都是之前学的,话不多说,先上图:代码部分: // ope
- java数据类型与二进制详细介绍在java中Int 类型的变量占 4个字节Long 类型的变量占8个字节一个程序就是一个世界,变量是这个程序
- Java深入到一定程度,就不可避免的碰到设计模式(design pattern)这一概念,了解设计模式,将使自己对java中的接口或抽象类应
- 一、Spring Boot任务线程池线程池的作用防止资源占用无限的扩张调用过程省去资源的创建和销毁所占用的时间在高并发环境下,不断的分配新资
- 我们开发WinFrom程序,很多时候都希望程序只有一个实例在运行,避免运行多个同样的程序,一是没有意义,二是容易出错。为了更便于使用,笔者整
- 先看看代码再说:package com.b510.note; import java.math.BigInteger;
- Atomikos是一个为Java平台提供增值服务的并且开源类事务管理器,如果将事务统一注册到Atomikos中,则可以统一管理。常用于后台管
- foreach遍历是C#常见的功能,而本文通过实例形式展现了C#使用yield关键字让自定义集合实现foreach遍历的方法。具体步骤如下:
- 一 关键pom<dependencies> <dependency> <groupId>or