精华内容
下载资源
问答
  • 和注解
    2022-06-13 20:57:29

    注释是不能被解析的。
    注解可以被解析。
    可以把注解理解为代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息。

    更多相关内容
  • 注解和注释以及SpringSpringMVC常用的注解 1.两者区别 注解 :参与代码编译,以@开头的。它是给应用程序看的,单独使用注解毫无意义,一定要跟工具一起使用,这个所谓的工具实际就是能读懂注解的应用程序  注释 :...
  • 注解和注释的区别及各自的作用?

    千次阅读 2022-04-12 21:15:40
    写在前面,本人初次整理关于java的有关概念,难免有误不足之处,...用/* */来表示:可以写在任何一行代码前,不能单行注释嵌套使用。 4.文档注释 用/** */来表示:只能写在类或成员之前,编译时可以生成API文档。

    写在前面,本人初次整理关于java的有关概念,难免有误和不足之处,还望能得到大家多多指正,一起进步。

    1.注释

    1.什么是注释?

    注释是解释说明程序的文字分类。注释是程序员对源代码的类,方法,属性等做的一些记忆或提示性描述(比如这个方法是做什么用的),是给人来看的。

    2.单行注释

    用//来表示:可以写在任何一行代码前。

    3.多行注释

    用/* */来表示:可以写在任何一行代码前,不能和单行注释嵌套使用。

    4.文档注释

    用/** */来表示:只能写在类或成员之前,编译时可以生成API文档。

    一、注释
    虽然注解、注释只相差一个字,但是用法就差异很大。
    还是那句话, 注解给编译器看, 注释是给人看的。
    基于此的话, 对于一个方法来说:
    1. 把这个方法的作用, 输入,输出描述清楚就可以了,更多的可以加上一些作者呀,版本呀这样一些信息
    2. 注释编排的美观一些
    做到这两点应该就可以了。 举个例子:

    /******************************************************************************* 
    * NAME:     usage 
    * DESCRIPTION: XXX 
    * ARGUMENTS:  N/A 
    * RETURN:    
    * AUTHOR:    oscar999 
    * VERSION:   V0.1 
    *******************************************************************************/ 
    
    

    看上去这是一个不错的注释^^.

    但是对于Java 语言来说, 注释被赋予了更多的功能。 就是你可以使用javadoc 这个功能把代码中的注释导出到  html 的文件中。
    如果你的代码是共用性很高的代码的话, 这份文档就是一份API的参考文档, 类似Java API.
    所以, 要产生出这样的文档,就要遵循java 定义的一些注释规范, 才能产生出规范的文档出来。

    二、Java 类方法的标准注释
    还是从类的方法的注释说起。

      /** 
       * Read a line of text. A line is considered to be terminated by any one 
       * of a line feed ('\n'), a carriage return ('\r'), or a carriage return 
       * followed immediately by a linefeed. 
       * 
       * @param   ignoreLF1 If true, the next '\n' will be skipped 
    <pre code_snippet_id="74911" snippet_file_name="blog_20131120_2_8365599" name="code" class="java">   * @param   ignoreLF2 If true, the next '\n' will be skipped</pre>   *   * @return   A String containing the contents of the line, not including   *       any line-termination characters, or null if the end of the   *       stream has been reached   *   * @see    java.io.LineNumberReader#readLine()   *   * @exception IOException If an I/O error occurs   */ 
    
    
    

    (不去关注以上注释的意义,只关注其定义的样式)
    1. 首先看最上面的 “Read a line of text.  A line .. ” 这一段是对这个方法的一些描述。

    第一个句号前面的部分, 也就是 “Read a line of text.” 会出现在 “方法摘要” 中

    2. @param 定义的是方法的输入参数,(可以添加多个)出现在“ 方法详细信息” 中。(参数和参数描述之间使用空格隔开, 在产生的文档中转成了  -)

    3. @return  返回值的描述

    4. @see  参考的描述

    5. @exception 异常抛出的描述
    美观考虑, 不同类的标签可以换一行显示, 比如 @param 和 @return 直接空一行。

    三、Java 类标准注释
    类的注释和方法注释的格式基本相同。 区别的地方:
    1. 放置的位置不同。 类的注释放在类定义的上面, 方法的注释放在方法定义的上面。
    2. 类的注释比较会使用   @version  @author  @since 这样的标签。
    看模板

    /** will buffer the input from the specified file. Without buffering, each 
    * invocation of read() or readLine() could cause bytes to be read from the 
    * file, converted into characters, and then returned, which can be very 
    * inefficient. 
    * 
    * 
    * Test Description 
    * 
    * <p> Programs that use DataInputStreams for textual input can be localized by 
    * replacing each DataInputStream with an appropriate BufferedReader. 
    * 
    * @see FileReader 
    * @see InputStreamReader 
    * 
    * @version 0.1, 11/20/13 
    * @author  oscar999 
    * @since  JDK1.5 
    */ 

    2.注解

    java注解(Annotation)又称java标注,是JDK5.0引入的一种注释机制。与类、接口、枚举是在同一个层次,可以成为java 的一个类型。

    java语言中的类、方法、变量、参数和包等都可以被标注。

    注解则是Java 编译器可以理解的部分,是给编译器看的。

    一、常见的Java 内置注解
    除了包含@Override (方法重写的注解)。

    还有哪些常见的Java内置注解? 

    1. @Deprecated

    注解为不建议使用,可以用在 方法和类上。
    基本上这种方法和类都是因为升级或性能上面的一些原因废弃不建议使用,但是为了兼容或其他原因,还必须保留。
    所以就打上这个注解。
    在Java 本身的API中就有很多这样的例子, 方法打上了这个注解,进到Source code 会看到替代的新的方法是哪个。
    在eclipse 中编写code时,添加此注解的方法在声明和调用的地方都会加上删除线。

    2.@Override

    3.@SuppressWarnings
    忽略警告。
    如果你的code在转型或其他的部分有一些警告的话,但是你又想忽略这些警告,就可以使用这个注解了。
    1)deprecation 使用了不赞成使用的类或方法时的警告

    2)unchecked 执行了未检查的转换时警告

    3)fallthrough 当使用switch操作时case后未加入break操作,而导致程序继续执行其他case语句时出现的警告

    4)path 当设置一个错误的类路径、源文件路径时出现的警告

    5)serial 当在可序列化的类上缺少serialVersionUID定义时的警告

    6)fianally 任何finally子句不能正常完成时警告

    7)all 关于以上所有情况的警告

    二、自定义注解

    除了Java本身提供的内置注解, Java 还提供了定制自定义注解的功能。
    定义的方式就是使用注解定义注解, 用来定义注解的注解称为元注解。
    主要的元注解有以下四个:@Target ;@Retention;@Documented;@Inherited
    1. @Target 表示该注解用于什么地方,使用在类上,方法上,或是属性等
    可能的 ElemenetType 参数包括:
    ElemenetType.CONSTRUCTOR 构造器声明
    ElemenetType.FIELD 域声明(包括 enum 实例)
    ElemenetType.LOCAL_VARIABLE 局部变量声明
    ElemenetType.METHOD 方法声明
    ElemenetType.PACKAGE 包声明
    ElemenetType.PARAMETER 参数声明
    ElemenetType.TYPE 类,接口(包括注解类型)或enum声明
    2. @Retention 表示在什么级别保存该注解信息
    可选的 RetentionPolicy 参数包括:
    RetentionPolicy.SOURCE 注解将被编译器丢弃
    RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃
    RetentionPolicy.RUNTIME VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息。
    3. @Documented ,产生doc时,是否包含此注解
    将此注解包含在 javadoc 中
    4.  @Inherited
    允许子类继承父类中的注解

    三、Annotation的作用

    介绍到此,可以总结一下Annotation的作用了。
    基础的大致可以分为三类:
    1. 编写文档
    2. 代码分析
    3. 编译检查
    但是,开源框架对其赋予了更多的作用
    比如:
    Hibernate,注解配置,

    @Column("aa") 
    private String xx; 
    

    这个类似于XML配置,简化程序中的配置
    相对与把一部分元数据从XML文件移到了代码本身之中,在一个地方管理和维护。
    内部如何实现的?

    -- java 反射机制,类似与以上例子。

    四、注解注意的几个事项

    1.注解用法和修饰符用法类似

    2.注解不能修饰代码块、实参

    3.注解可以连用(即注解可以被注解修饰)、JDK1.8以后注解可以重复使用

    4.无参注解在使用时可以省略括号,带参注解不能省略括号

    5.注解不能被继承,枚举(enum)也不能被继承

    6.注解可以被实现

    7.使用注解,需要在注解里添加抽象方法,然后可以用有参注解给抽象方法传值

    8.注解里不能写返回值为void的抽象方法

    package top.guofei.cordjava.day02.ds;
    
    public enum Sex {
        MALE,FEMALE;
    }
    
    package top.guofei.cordjava.day02.ds;
    
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.reflect.Field;
    
    /**
     * @Gender  注解
     * 注解里的value()抽象方法不需要方法名调用
     * @Retention(RetentionPolicy.SOURCE)  编译时会丢失
     * @Retention(RetentionPolicy.CLASS)    运行是被丢弃
     * @Retention(RetentionPolicy.RUNTIME)  会被反射获得
     */
    
    @Retention(RetentionPolicy.RUNTIME)
    public @interface Gender {
        Sex  value();
    }
    
    class Person{
        @Gender(Sex.FEMALE)
        Sex sex=Sex.MALE;
    
        @Override
        public String toString() {
            return sex.equals(Sex.MALE)?"男":"女";
        }
    }
    class  MainTest{
        public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
            Person person=new Person();
            Class<Person> personClass=Person.class;
    
            Field sexfield=personClass.getDeclaredField("sex");
            Sex  sex=sexfield.getAnnotation(Gender.class).value();
            sexfield.set(person,sex);
    
            System.out.println(person);
        }
    }

    展开全文
  • Java注释和注解的区别

    千次阅读 2020-02-20 10:42:06
    (注解信息处理流程,是注解和注释的重大区别,如果没有注解信息处理流程,则注解毫无意义) 注解的格式: 1) 注解是以”@注释名”在代码中存在,还可以添加一些参数 值,例如@SuppressWarnings...

    目录

    1 注释

    2 注解

    2.1 注解的作用

    2.2 注解的格式:

    2.3 注解在哪里使用

    2.4 内置的注解

    3 自定义注解:

    3.1 自定义注解的语法

    3.2 元注解

    3.3 @Target


    1 注释

    很容易知道就是让自己看,或者别人方便阅读你的代码

    2 注解

    2.1 注解的作用

    1) 不是程序本身,可以对程序作出解释。(这一点跟注释没什么区别)

    2) 可以被其他程序(比如:编译器等)读取。(注解信息处理流程,是注解和注释的重大区别,如果没有注解信息处理流程,则注解毫无意义)

    ①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
    ②代码分析:通过代码里标识的注解对代码进行分析【使用反射】
    ③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查

    2.2 注解的格式:

    1) 注解是以”@注释名在代码中存在,还可以添加一些参数

    值,例如@SuppressWarnings(value=”unchecked”)

    2.3 注解在哪里使用

    1) 可以附加在 package,class,method,field 等上面,相当于给它们添加了额外的辅助信息,我们可以通过反射机制编程实现对这些元素的访问。

    2.4 内置的注解

    1) @Override :标识方法是重写的方法

    2) @Deprecated :标识的方法不建议使用

    3) @SuppressWarnings:用来抑制编译时的警告信息@SuppressWarinings 需要提供参数才能正常使用,这些参数都是已经定义好的,我们只需要选择就可以了。

    3 自定义注解:

    3.1 自定义注解的语法

     格式:
                元注解
                public @interface 注解名称{
                    属性列表;
                }
        
    本质:注解本质上就是一个接口,该接口默认继承Annotation接口
    public interface MyAnno extends java.lang.annotation.Annotation {}

    属性:接口中的抽象方法
    要求:
    1. 属性的返回值类型有下列取值

    • 基本数据类型
    • String
    • 枚举
    • 注解
    • 以上类型的数组

    2. 定义了属性,在使用时需要给属性赋值

    1. 如果定义属性时,使用default关键字给属性默认初始化值,则使用注解时,可以不进行属性的赋值。
    2. 如果只有一个属性需要赋值,并且属性的名称是value,则value可以省略,直接定义值即可。
    3. 数组赋值时,值使用{}包裹。如果数组中只有一个值,则{}可以省略

    3.2 元注解

    元注解:用于描述注解的注解

    •  @Target:描述注解能够作用的位置

    ElementType取值:
    TYPE:可以作用于类上
    METHOD:可以作用于方法上
    FIELD:可以作用于成员变量上

    • @Retention:描述注解被保留的阶段
    • @Retention(RetentionPolicy.RUNTIME):当前被描述的注解,会保留到class字节码文件中,并被JVM读取到
    • @Documented:描述注解是否被抽取到api文档中
    • @Inherited:描述注解是否被子类继承

    在程序使用(解析)注解:获取注解中定义的属性值
    1. 获取注解定义的位置的对象  (Class,Method,Field)
    2. 获取指定的注解
    getAnnotation(Class)
    //其实就是在内存中生成了一个该注解接口的子类实现对象

    public class ProImpl implements Pro{
           public String className(){
           return "cn.itcast.annotation.Demo1";
             }
             public String methodName(){
         return "show";
     }
    }

    3. 调用注解中的抽象方法获取配置的属性值

     

    展开全文
  • MIMO线性预编码的ZF
  • 注释齐全,注解和注释,matlab源码.zip
  • Spring创建javaBean对象的两种方式:配置文件和注解的方式。 1. spring注解的使用 添加依赖,如果需要使用spring的注解,需要spring-aop以来(需要导入.jar工具包) 添加配置文件(常用的是.xml文件),先添加约束...
    Spring创建javaBean对象的两种方式:配置文件和注解的方式。
    1. spring注解的使用
    1. 添加依赖,如果需要使用spring的注解,需要spring-aop以来(需要导入.jar工具包)
    2. 添加配置文件(常用的是.xml文件),先添加约束文件,再添加配置。配置文件内容如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
    	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    	xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
    	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd 
    	http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd
    	http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
    	http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
    
    	<!-- 设置开启注解 -->
    	<context:annotation-config />
    
    	<!-- 设置扫描哪个包下的注解 -->
    	<context:component-scan base-package="cn.itcast.spring.demo6" />
    
    </beans>
    
    2. 注释的使用

    自己写的java类一般使用注解的方式,系统自带的java类一般用注释的方式

    1. @Component== @Controller == @Service ==@Repository
    2. @Controller(用于数据展现层)
    3. @Service(用于业务逻辑层)
    4. @Repository(用于数据持久层)
    5. @Value(用于Bean中的属性赋值)

    编写food:

    public class food{
        //给name属性赋值
        @Value("热干面")
        private String fName;
        private int heat;
        //get / set方法
        //toString重写方法
    }
    

    编写测试类foodTest:

    public class foodTest{
        public void test(){
            ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext2.xml");
            food food = (food) context.getBean("food");
            
            System.out.println(food);
        }
    }
    
    spring提供的注解
    1. @Autowired,按照类型注入,注解的字段的类型寻找该类型的实例bean,这种方式称为byType
    2. @Qualifier,按照指定注入的Bean的名字(相当于id)找该类型的实例bean,这种方式称为byName。想要让@Autowired方式按照name方式注入,可以结合@Qualifier(“XX”)使用,让@Autowired按照byName方式装配。
    3. @ReSource,jdk提供的注解,默认是按名称name注入的,也可以按照类型注入。

    编写dog:

    @Service
    public class Dog {
    	@Value("拉布拉多")
    	private String name;
    	private String color;
    	private int age;
        //get/set
        //toString
    }
    

    编写boyfriend:

    @Controller
    public class boyfriend {
    	@Value("尚某某")
    	private String name;
    	private int age;
        //get/set
        //toString
    }
    

    修改food,使用注解注入dog和boyfriend

    @Controller(value="food")
    public class food{
    
        @Autowired
    	@Qualifier(value = "dog")
        private dog dog;
        
        @Resource(name = "boyfriend")
        private boyfriend myBF;
        
        @Value("热干面")
        private String name;
        private int heat;
        
        public void hello(){
            System.out.println("My favorite breakfast!!!");
        }
        //get/set
        //toString
    }
    
    spring和JUnit整合
    1. 添加依赖
    <!-- spring测试组件,其中版本号根据自己的情况写入即可 -->
    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-test</artifactId>
    	<version>4.2.4.RELEASE</version>
    	<scope>test</scope>
    </dependency>
    
    1. 编写测试
    //@RunWith设置测试环境,里面的参数指定测试环境
    //SpringJUnit4ClassRunner.class:表示使用spring环境
    
    @RunWith(SpringJUnit4ClassRunner.class)
    
    // 设置启动的时候,需要加载的配置文件
    
    @ContextConfiguration(value = "classpath:applicationContext2.xml")
    public class AnnoTest2 {
    
    	@Autowired
    	private food food;
    
    	@Test
    	public void testJunit() {
    		System.out.println(food);
    		this.food.hello();
    	}
    }
    
    展开全文
  • 注释和注解

    千次阅读 2019-10-31 18:15:00
    Java注释与注解注释单行注释多行注释文档注释生成方式:注解元注解Java API预定义注解 注释 单行注释 //单行注释内容 多行注释 /* 注释内容 */ 文档注释 /** 文档注释内容 */ 使用文档生成工具软件(\JDK安装...
  • mysql语句添加字段和注释

    千次阅读 2022-02-14 11:19:41
    简单点的:工作中需要对某个表进行添加字段,输出脚本...添加字段关键字 alter 注释关键字 comment ALTER TABLE 表名 ADD 字段名 varchar(20) COMMENT '注释内容'; 不要注释,去掉comment就行了 ok,执行完事 ...
  • 注释和注解的区别

    千次阅读 2018-09-18 16:34:39
    注解 :参与代码编译,以@开头的。它是给应用程序看的,单独使用注解毫无意义,一定 要跟工具一起使用,这个所谓的工具实际就是能读懂注解的应用程序 。...注释 :对代码没有影响。对代码起到解释、说明的作用; ...
  • 修改数据库连接和需要生成的表名后,可直接运行生成带中文注释和注解的JavaEntity,数据库注释会生成到JavaEntity里
  • Java——注解/注释

    2022-04-03 15:49:09
    1、注解,或者叫做注释类型,英文单词是:Annotation 2、注解Annotation是一种引用数据类型。编译之后也是生成xxx.class文件。 3、怎么自定义注解呢?语法格式? [修饰符列表] @interface 注解类型名{ } 4...
  •   Java注释可以帮助我们去理解代码,javac 不会去编译注释,java运行也不会去管我们注释的内容,注释的作用就是让我们可以给代码添加自己理解的意思,这样方便我们以后再次去看代码的时候以防止遗忘不知道该处代码...
  • php的注释/注解

    2021-11-24 13:58:05
    php中的注解, 分为类注解和属性注解. 用注释来定义类的属性 namespace app\common\model; use think\Model; /*...
  • [转帖]java注解注释注解区别

    千次阅读 2019-10-02 11:47:14
    wfr=spider&for=pc 还需要仔细看一下书的 书...java注解注释注解区别,注释注解对于新手来说很容易混淆。注解注释有什么不同点 ? 定义不同:注解:英名为Annotation,它是JDK5.0及以后版本引入的一个特...
  • java中的注释注解

    千次阅读 2019-07-07 11:33:42
    来自董老师的课件总结 ...4、RetentionRetentionPolicy 5、反射与Annotation 6、@Documented注解 7、@Target注解 8、@Inherited注解 1.略 2、系统定义的三个Annotation 在JDK 1.5之后,...
  • 枚举类和注解

    2022-02-02 20:42:53
    介绍枚举类和注解
  • Idea配置方法注释模板

    2020-12-23 01:24:50
    9 中的注释模板如下: (注意留空一行) * @MethodName: $methodName$ * @Description: TODO * @Param: $param$ * @Return: $return$ * @Author: $user$ * @Date: $time$ **/ 将java勾选上 点击13位置 如下图 ...
  • mybatis-generator插件 自动生成代码和注解,自动生成数据库的注释
  • 和注释的作用完全不一样。Annotation 是JDK5.0及以后版本引入的一个特性。 与类、接口、枚举是在同一个层次,可以成为java 的一个类型。语法是以@ 开头简单来说,注释是程序员对源代码的类,方法,属性等做的一些...
  • 枚举类Enum和注解

    2021-12-11 10:47:07
    6.JDK8里注解的新特性 JDK8之前,可重复注解的实现方式 新建一个MyAnnotations注释,里面放原来想要重复注解的那个注解的数组。 然后就可以通过这句话实现重复注解。 JDK8之后 这俩注解在TargetRetention上保持...
  • 三菱PLC编程如何使用注释、声明、注解对PLC程序添加注释、声明、注解是PLC编程者自身的一个标记,对本身来说,特别是在大型的程序中,能及时的找到问题进行维护修改,或者拓展。对程序阅读者或者交接给另外一个人...
  • 一: 首先自定义一个注解 这里的default就是他的默认值,如果不赋值,默认值就为default的内容 二: 在方法上使用注解 三: 写一个service接口,这里
  • Java笔记---枚举类和注解一、枚举类自定义枚举类方式一:JDK5.0之前自定义枚举类class Seasons {//1. 声明Seasons对象的属性private final String SeasonName;private final String SeasonDescrp;//2. 私有化类的...
  • 在很多情况下,注释配置比 XML 配置更受欢迎,注释配置有进一步流行的趋势。Spring 2.5 的一大增强就是引入了很多注释类,现在您已经可以使用注释配置完成大部分 XML 配置的功能
  • Java注解注释

    2020-05-11 14:32:31
    文章目录JDK内置注解`@Override``@Deprecated``@SuppressWarnings`元注解概述`@Retention``@Target``@Documented``@Inherited`自定义注解通过...注解获取属性的注解获取构造器的注解获取方法的注解获取参数注解**注意...
  • 只能在非类下的函数获取,类里面的方法获取不到注释,但是同样可以获取到方法名称

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,495,271
精华内容 1,398,108
关键字:

和注解