代码之家  ›  专栏  ›  技术社区  ›  Alex B

什么时候使用Java的“超写注解”?为什么?

  •  498
  • Alex B  · 技术社区  · 16 年前

    使用Java的最佳实践是什么? @Override 注释和为什么?

    似乎用 @重写 注释。是否有某些编程情况需要使用 @重写 以及其他不应该使用 @重写 ?

    27 回复  |  直到 16 年前
        1
  •  515
  •   David L    16 年前

    @Implements

        2
  •  110
  •   jon    16 年前

    protected boolean displaySensitiveInformation() {
      return false;
    }
    

    protected boolean displaySensitiveInformation(Context context) {
      return true;
    }
    

        3
  •  46
  •   Bill K    16 年前

        4
  •  22
  •   jjnguy Julien Chastang    16 年前

    tostring() toString()

        5
  •  18
  •   toluju    16 年前

    @Override

        6
  •  14
  •   Donal Fellows    14 年前

    someUIComponent.addMouseListener(new MouseAdapter(){
      public void mouseEntered() {
         ...do something...
      }
    });
    

    mouseEntered(MouseEvent ev) mouseEntered() @Override

        7
  •  8
  •   Rune    15 年前

        8
  •  8
  •   Anil Bharadia GrkEngineer    12 年前

    hashcode() hashCode()

    @Override

        9
  •  7
  •   Tom Hawtin - tackline    16 年前

        10
  •  7
  •   Asgeir S. Nilsen    16 年前

        11
  •  7
  •   Diastrophism    16 年前

        12
  •  6
  •   Steve R.    14 年前

        13
  •  6
  •   Greg Mattes    13 年前

    @Override

        14
  •  5
  •   Hank Gay    16 年前

        15
  •  5
  •   David Pierre    16 年前

        16
  •  5
  •   willCode4Beer    16 年前

        17
  •  5
  •   jai    15 年前

    public class Bigram {
        private final char first;
        private final char second;
        public Bigram(char first, char second) {
            this.first  = first;
            this.second = second;
        }
        public boolean equals(Bigram b) {
            return b.first == first && b.second == second;
        }
        public int hashCode() {
            return 31 * first + second;
        }
    
        public static void main(String[] args) {
            Set<Bigram> s = new HashSet<Bigram>();
            for (int i = 0; i < 10; i++)
                for (char ch = 'a'; ch <= 'z'; ch++)
                    s.add(new Bigram(ch, ch));
            System.out.println(s.size());
        }
    }
    

    Effective Java

        18
  •  3
  •   Horatiu Jeflea    13 年前

        20
  •  2
  •   lzlstyle    13 年前

        21
  •  1
  •   Berlin Brown    13 年前

        22
  •  0
  •   JeeBee    16 年前

        23
  •  0
  •   Siva    14 年前

        24
  •  0
  •   Jackie    14 年前

        25
  •  0
  •   gprathour davidbuzatto    13 年前

        26
  •  0
  •   Dale    12 年前

        27
  •  0
  •   rmtheis sillygoose    12 年前

    @Override