阿package com.atguigu.test08;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;
/*
* 1、注解:
* 也是一种注释。它是代码级别的注释。是用代码注释代码。
* 不同于我们之前的单行注释//,多行注释/* * /
*
* 当你在代码中,看到@开头就是注解了。
*
* 2、一个完整的注解,由三部分组成:
* (1)声明
* (2)使用
* (3)读取
*
* 绝大多数程序员,面对的基本上是(2)使用。
*
* 3、系统中预定义的三个最基本的注解
* (1)@Override
* 作用:检查这个方法是否符合重写的要求
* ①方法名:相同
* ②形参列表:相同
* ③返回值类型
* 基本数据类型和void:相同
* 引用数据类型:<=
* ④修饰符
* 权限修饰符:>=
* 其他修饰符:private,static,final不能重写
*
* (2)@SuppressWarnings(xx)
* 作用:抑制警告
*
* (3)@Deprecated
* 作用:标记某个方法、类、属性等已过时
* 不建议程序员继续使用,因为可能有问题,也可能是不好用。
*
* 面向对象的开发原则:对修改关闭,对扩展开发
*/
public class TestAnnotation {
// @SuppressWarnings({ "unchecked", "rawtypes" })
@SuppressWarnings("all")
public static void main(String[] args) {
String[] all = {"hello","Hai","Java","chai"};
Arrays.sort(all, new Comparator(){
@Override
public int compare(Object o1, Object o2) {
String s1 = (String) o1;
String s2 = (String) o2;
return s1.compareToIgnoreCase(s2);
}
});
/* Arrays.sort(all, new Comparator<String>(){
@Override
public int compare(String o1, String o2) {
return o1.compareToIgnoreCase(o2);
}
});*/
/* for (int i = 0; i < all.length; i++) {
System.out.println(all[i]);
}*/
Date date = new Date(2019,6,1);
System.out.println(date);
}
}
class Father{
public void print1n(){
System.out.println("父类的方法");
}
}
class Son extends Father{
/* @Override
public void println(){
System.out.println("子类的方法");
}*/
}