1 / 8

CSE 331

CSE 331. Annotations slides created by Marty Stepp based on materials by M. Ernst, S. Reges, D. Notkin, R. Mercer, Wikipedia http://www.cs.washington.edu/331/. Annotations. annotation : Markup that provides information to the compiler.

Télécharger la présentation

CSE 331

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE 331 Annotations slides created by Marty Steppbased on materials by M. Ernst, S. Reges, D. Notkin, R. Mercer, Wikipedia http://www.cs.washington.edu/331/

  2. Annotations • annotation: Markup that provides information to the compiler. • Can also be used for deployment-time or run-time processing. • Common uses for annotations: • To detect problems or errors in code • To suppress compiler warnings • For unit tests, e.g. JUnit

  3. Annotation usage @AnnotationName @AnnotationName(param=value, ..., param=value) • Examples: @SuppressWarnings @Test(timeout=2000) • An annotation can be placed on: • a class • a method • a field • a local variable, ...

  4. Common annotations • The following annotation types come with the JDK:

  5. Creating an annotation type public @interface Name {} Example: public @interface GradingScript {} ... @GradingScript public class TestElection {...}

  6. An annotation with params public @interface Name { typename(); // parameters typename() default value; // optional } Example: public @interface ClassPreamble { String author(); String date(); int currentRevision() default 1; String lastModified() default "N/A"; String[] reviewers(); } • Most programmers don't commonly need to create annotations.

  7. Using custom annotation @ClassPreamble( author = "John Doe", date = "3/17/2002", currentRevision = 6, lastModified = "4/12/2004", reviewers = {"Alice", "Bob", "Cindy"} ) public class FamilyTree { ... }

  8. Prof. Ernst's annotations • UW's own Prof. Michael Ernst and his research team have contributed a set of custom annotations that can be used to provide sophisticated type checking and nullness checking for Java:

More Related