Java第四课_静态

1. 静态和非静态的区别

//非静态方法需要通过实例变量,再通过对象调用方法;Player p1=new Player();    p1.playSound(title)

//静态方法static不需要实例变量,可以直接用类的名字进行调用 Math.min(42,36)

***静态的方法不能调用非静态的变量和方法,非静态的可以调用静态的***

2. 限制调用

//抽象的类是不能被初始化的,被标记为private的方法只能被同一类的程序调用

//对于非抽象类,如果不想被调用或者初始化,就将构造函数限制为私有化

3. 静态变量

//静态变量对所有的实例来说是相同的,被同类的所有实例共享

//实例变量:每个实例一个;静态变量:每个类一个

//static变量是通过类的名称来存取,并且在类的任何对象或方法执行之前就被初始化

常数——静态的final变量:public static final PI=3.141592653;常数命名应该全部大写,并以_为字符分割;它的初始化在声明的时候,或者静态初始化程序中

(1):变量标记为public,可以被各方读取

(2):变量标记为static,所以不需要实例化

(3):变量标记为final,所以这个值是不变的

4. final

//静态final变量——常量;不能改变,不需要实例化,直接通过类调用

//final的变量(包括静态和非静态);不能改变值

//final的方法;不能覆盖掉该方法

//final的类;改类不能被继承,即不能创建子类

如果该类已经被final了,则不要对方法再final了。

5. 数字格式化

format("This num is %,6.2f",10042.000);%后的逗号表示数字以,分割 6表示宽度至少为6,不足补零;2精确到小数点后两位,f表示浮点型

%d——int;%f——浮点型;%x——byte,short,int,long,BigInteger;%c——byte,short,int,long

日期:——获得当前日期用Date

	Sting.format("%tc",new Date());//完整的时间和日期 Sun July 8 14:52:41 MST 2018
	Sting.format("%tr",new Date());//只有时间 14:52:41 PM 
	Date today=new Date();
	Sting.format("%tA,%tB %td",today,today,today);//周 月 日  Sunday July 8
	Sting.format("%tA,%<tB %<td",today);//同上,但是可以重复利用参数;周 月 日  Sunday July 8

其余的都在Calendar上找,且用静态的方法,即不能直接实例化

Calendar cal=new Calendar();//错误的
Calendar cal=Calendar.getInstance();//正确的,获取时间

Calendar中日期字段会保存、日期和时间可以运算,可以转换为millisecond微秒来运算

cal.set(2018,7,8,10,23)

cal.getTimeInMillis(day1)

	Calendar c = Calendar.getInstance();//正确的,获取时间
		c.set(2018,7,8,10,23);//日期设定为2018年7月8日10:3
		long day1 = c.getTimeInMillis();//日期转换为毫秒
		day1++1000*60*60;				
		c.setTimeInMillis(day1);日期加一个小时
		System.out.println("new hour"+c.get(c.HOUR_OF_DAY));
		c.add(c.DATE,35);//日期加35天
		System.out.println("add 35 days"+c.get(c.getTime));
		c.roll(c.DATE,35);//滚动35天,只有日期字段会动,月份不会动
		System.out.println("roll 35 days"+c.get(c.getTime));
		c.set(c.DATE,1);//直接设定DATE值
		System.out.println("set to 1"+c.get(c.getTime));


猜你喜欢

转载自blog.csdn.net/qq_28271733/article/details/80954703