权限修饰符有哪几个?大小顺序如何?
public>protected>空>private
ps:作用范围
静态代码块在什么时候执行?
静态代码块在类加载的时候执行,类加载完以后首先执行的就是静态代码块
构造代码块在调用构造方法的时候执行
Object
equals()方法为什么要重写?
因为equals的默认方法如果比较类的话还是比较的类的地址值,想比较类里面的值得话就要重写equals方法,快捷键还是alt+insert
toString()方法为什么要重写?
因为如果不重写的话调用toString方法还是打印的是对象的地址值,重写后协同会生成类里面的值,快捷键依然是alt+insert
native是什么意思?
本地方法,用其他的语言写的,看不到源码因为java有很多功能是这个语音调用不来的所以要用其他语言调用()
Date类
如何创建对象?
//获取系统当前时间
Date d=new Date();
//获取与基准时间加上l的时间
Date d=new Date(long l);
常用方法:
getTime() ?
d.getTime //获取d的毫秒值
after() ?
d.after(d2)//比较d是否在d2之后
before() ?
d.before //比较d是否在d2之前
SimpleDateFormat类
如何创建对象?
SimpleDateFormat sdf=new SimpleDateFormat("时间格式")
常用方法:
format() ?
把Date类型的数据按照时间格式转成String类型
parse() ?
把String类型的数据按照时间格式解析成Date类型的数据(String类型的字符串一定要按照时间格式的标准来,否则会报错)
Calendar类
如何创建对象?
Calendar c=Calendar.getInstance();(Calendar是一个抽象类不能被创建对象,所以是调用了这个方法创建了一个子类来接收)
get() ?
set() ?
add() ?
//创建Calendar子类对象
Calendar c = Calendar.getInstance();
//获取当前年份返回值是int类型
int i = c.get(Calendar.YEAR);
//获取当前月份返回值int类型(这个返回的月份是0-11,所以我们要输出的时候+1)
int i1 = c.get(Calendar.MONTH);
//获取日(在这个月中的第几天)
int i2 = c.get(Calendar.DAY_OF_MONTH);
//获取小时(HOUR_OF_DAY)这个是24小时制 HOUR时12小时制
int i3 = c.get(Calendar.HOUR_OF_DAY);
//获取分钟
int i4 = c.get(Calendar.MINUTE);
//获取秒
int i5 = c.get(Calendar.SECOND);
//最为特殊的是星期,美国人是星期日是第一天,输出1的时候我们是星期日,所以设置了一个数组来对应我们的一周
System.out.println(i+"年"+(i1+1)+"月"+i2+"日"+i3+"时"+i4+"分"+i5+"秒");
String [] s={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
int i6 = c.get(Calendar.DAY_OF_WEEK);
System.out.println(s[i6]);
//set方法是给这个字段设置值,没有返回值设置完以后这个字段的值就是这个数
c.set(Calendar.DAY_OF_MONTH,10);
System.out.println(c.get(Calendar.DAY_OF_MONTH));//10
//add方法是给这个字段增加或者减少值
c.add(Calendar.DAY_OF_MONTH,+10);
System.out.println(c.get(Calendar.DAY_OF_MONTH));//20
//如果加的这个数字超出了这个月的天数,就会排到下个月的天数
c.add(Calendar.DAY_OF_MONTH,+20);
System.out.println(c.get(Calendar.DAY_OF_MONTH));//现在是7月份有31天所以输出是9
Arrays类(被私有构造不能创建对象方法都是静态方法,通过类名调用)
sort() ?
排序数组
toString() ?
把数组转换成String类型的字符串返回一个字符串
System类
exit(0) ?
退出jvm虚拟机
currentTimeMillis() ?
获取当前系统时间的毫秒值
获取某年二月份的天数
//案例:获取某个年份中的二月是几天
//1.创建Scanner对象
Scanner sc=new Scanner(System.in);
System.out.println("请输入年份");
//获取键盘输入的年份
int i=sc.nextInt();
//创建Calendar对象
Calendar c = Calendar.getInstance();
//设置时间为这一年的3月1日(月份要设置成2)
c.set(i,2,1);
//通过add方法把日这个字段的时间-1
c.add(Calendar.DAY_OF_MONTH,-1);
//获取日字段的值
int i1 = c.get(Calendar.DAY_OF_MONTH);
System.out.println(i+"年的2月份有"+i1+"天");
不知不觉已经过去了一个月了,学习到了很多很多的知识,有很多都是讲完之后瞬间明白原来这个东西还可以这样说,豁然开朗,感觉自己的逻辑性真的有在突飞猛进的上升,从明天开始也就换老师了(心里有很多的不舍,尽管一个月时间不长但是感情确实在这里)同时也,希望自己能够保持这个状态并且更加努力,提前预习不犯懒,加油啊!!!