JavaSE学习笔记 2023-12-26 --枚举和注释
2024-01-03 19:53:45
二十二、枚举和注释
? 上一篇
个人整理非商业用途,欢迎探讨与指正!!
22.1枚举
接口/类中的静态属性
以内部类的形式使用较多
public enum Color {
RED,GREEN,YELLOW
}
class Test01 {
public static void main(String[] args) {
Color c = Color.RED;
switch(c) {
case RED:
System.out.println("红色的.");
break;
case GREEN:
System.out.println("绿色的");
break;
case YELLOW:
System.out.println("黄色的");
break;
}
}
}
public class User {
public static void main(String[] args) {
User user = new User();
user.setGender(Gender.BOY);
user.setRole(Role.ADMIN);
System.out.println(user);
}
private int userId;
private String username;
private String password;
private Gender gender;
private Role role;
// 内部枚举类型就是为gender赋值的
private enum Gender {GIRL,BOY}
// role赋值的
private enum Role {ADMIN,NORMAL,SUPERADMIN,QISHOU}
...
22.2注解
是代码中的一种特殊标记,使用程序去读取代码中的注解
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
// @interface声明注解
// 注解中只有属性
@Retention(RetentionPolicy.RUNTIME)//运行期注解
@Target({ElementType.TYPE/*类注解*/,ElementType.FIELD/*属性注解*/,
ElementType.METHOD/*方法注解*/,ElementType.PARAMETER/*参数注解*/})
public @interface MyAnnotation {
// 属性
String value();
String name() default "tom";
String[] arr();
}
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@interface Table {
String name();
}
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
@interface Field {
String name();
}
// 根据数据库中的Users表创建的 表中有name字段
@Table(name="emps")
class Users {
@Field(name="name")
private String name;
}
public class Test02 {
public static void main(String[] args) throws Exception {
// 加载类对象
Class<?> forName = Class.forName("com.qf.test.Users");
// 获取对应表的数据 获取的注解
Table table = (Table) forName.getDeclaredAnnotation(Table.class);
System.out.println(table);
System.out.println(table.name());
// sql语句
String sql = "select * from " + table.name();
System.out.println(sql);
}
}
文章来源:https://blog.csdn.net/CHiN_951/article/details/135277737
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!