网站备案不能访问,wordpress qvanxian,网站如何开通微信支付接口,电子商务网站建设的规划和实施我学习的顺序是C - python - C - Java。在讲到某项语言的特点是#xff0c;可能会时不时穿插其他语言的特点。
Java
1 注解Annotation
Python中也有类似的Decorators。以下为AI学习了解到的#xff1a;
Java的Annotation是一种元数据#xff08;metadata) python - C - Java。在讲到某项语言的特点是可能会时不时穿插其他语言的特点。
Java
1 注解Annotation
Python中也有类似的Decorators。以下为AI学习了解到的
Java的Annotation是一种元数据metadata)它提供了一种在代码中添加额外信息的方式。这些信息可以被编译器、开发工具或运行时环境读取和处理。注解本身不会直接影响代码的逻辑但它们可以用于生成代码、配置框架、进行代码分析等。 元数据注解是附加在代码上的元数据用于描述代码的某些特性。 不影响代码逻辑注解本身不会改变代码的运行逻辑但可以通过工具或框架影响代码的行为。 广泛用途注解可以用于编译时检查、代码生成、运行时配置等。 语法 注解以 符号开头后面跟注解的名称。注解可以带有参数参数以键值对的形式传递 内置注解具体要用那些直接问AI Java 提供了一些内置注解常用的包括 Override 用于标记方法重写了父类的方法。
如果方法没有正确重写父类的方法编译器会报错。
Deprecated 用于标记方法或类已过时不推荐使用。
编译器会发出警告提醒开发者使用替代方案。
SuppressWarnings 用于抑制编译器警告。
例如SuppressWarnings(“unchecked”) 可以抑制未检查的类型转换警告。
FunctionalInterface 用于标记接口是函数式接口只有一个抽象方法。
例如Runnable 接口就是一个函数式接口。
自定义注解 Java 允许开发者定义自己的注解。自定义注解使用 interface 关键字定义。 案例 import java.lang.annotation.*;// 定义一个注解
Retention(RetentionPolicy.RUNTIME) // 注解在运行时保留
Target(ElementType.METHOD) // 注解只能用于方法
public interface MyAnnotation {String value() default default value; // 注解的参数int count() default 1; // 另一个参数
}//使用自定义注解
public class MyClass {MyAnnotation(value Hello, count 3)public void myMethod() {// 方法体}
}注解的工作原理 编译时处理通过注解处理器Annotation Processor在编译时处理注解。 运行时处理通过反射机制在运行时读取注解信息。 注解信息读取案例 案例一
public class MyClass {MyAnnotation(value Hello, count 3)public void myMethod() {// 方法体}public static void main(String[] args) throws Exception {Method method MyClass.class.getMethod(myMethod);MyAnnotation annotation method.getAnnotation(MyAnnotation.class);if (annotation ! null) {System.out.println(Value: annotation.value()); // 输出Value: HelloSystem.out.println(Count: annotation.count()); // 输出Count: 3}}
}案例二
public class MyClass {MyAnnotation(value Hello, count 3)public void myMethod() {// 通过反射访问注解信息try {// 获取当前方法的注解MyAnnotation annotation this.getClass().getMethod(myMethod).getAnnotation(MyAnnotation.class);if (annotation ! null) {System.out.println(Value: annotation.value()); // 输出Value: HelloSystem.out.println(Count: annotation.count()); // 输出Count: 3}} catch (NoSuchMethodException e) {e.printStackTrace();}}public static void main(String[] args) {MyClass obj new MyClass();obj.myMethod();}
}总结 注解是元数据用于描述代码的特性。 内置注解如 Override、Deprecated 等。 自定义注解使用 interface 定义。 元注解用于修饰其他注解。 用途广泛编译时检查、代码生成、运行时配置等。 Python
1 装饰器Decorator
类似Java的注解