常用内置对象总结(10)
来源:互联网 发布:战舰世界格拉斯数据 编辑:程序博客网 时间:2024/06/05 15:32
内部类
内部类可以直接访问外部类的所有成员(包括private),因为内部类持有外部类的引用outer.this;外部类访问内部类必须创建对象访问
1.内部类是一个成员(外部类非静态)
非静态内部类:其他类访问内部类方法,outer.inner in = new outer().new inner();
静态内部类:其他类访问内部类方法,outer.inner in = new outer.inner();
静态内部类,静态方法调用:outer.inner.show(); 类名直接调用
非静态内部类,静态方法调用:错误,如果内部类中定义静态成员,则该类必须是静态的。
2.局部内部类(外部类的一个方法里定义内部类)
注意:外部类方法中有变量和内部类,如果内部类中调用方法中的变量,方法中的变量必须用final修饰。
3.匿名内部类
前提:内部类必须继承或实现一个外部类或接口
new 父类构造器()
{
覆盖父类方法
}
代码块
局部代码块:在方法中的代码块,例如
public static void show(){
int x = 2 ;
{ //局部代码块
int y = 0 ;
y = x+3 ;
x = y ;
System.out.println(y);
}
System.out.println(x);
}
在局部代码块定义的变量只能在代码块里有效,但执行完局部代码块,里面定义的变量和计算代码所占的内存将被释放。局部代码块可以使用外部定义的变量。局部代码块内部不可以定义外部已经定义的变量。不可以添加修饰符,编译错误。
静态代码块:在类中成员
静态代码块里只能引用静态成员和方法,再类加载的时候就执行一遍,初始化相应静态变量。
static String name ;
static {
name = "zhangsan";
System.out.println(name);
}
构造代码块:在类中成员
非静态构造代码块里可以引用静态和非静态成员,每次创建对象的时候都执行一次。
{
this.age = 20 ;
System.out.println(age);
}
System:类中的方法和属性都是静态的。
1. long currentTimeMillis();获取当前时间的毫秒值。
long l1 = System.currentTimeMillis();
2. getProperties();系统属性
System.getProperties();获取当前系统属性,格式:集合Properties<String,String>
Properties prop = System.getProperties();
Set ss = prop.entrySet(); 获得键值对地方法entrySet<key><value>()
Set s = prop.keySet(); 获得key键的Set<Object>集合
String s = prop.getProperty("os.name"); 通过键获取值 value = getProperty(key);
Object ss = prop.setProperty("os.name", "Windows 10"); 通过方法设置或修改值 setProperty(key,value) 封装的map的put设置方法
3. getProperty(key);
String s = System.getProperty("file.separator"); 获取当前系统文件分隔符 KEY(file.separator)
String s = System.getProperty("path.separator"); 获取当前系统路径分隔符 KEY(path.separator)
String s = System.getProperty("line.separator"); 获取当前系统行分隔符 KEY(line.separator)
4. setPropertys(Propertys); setProperty(key, value);
System.setPropertys(props); 给系统设置一些属性信息。这些信息是全局,其他程序都可以使用
System.setProperty(key, value); 给系统设置单个属性信息。这些信息是全局,其他程序都可以使用
5. gc () ;运行垃圾回收器
6. System.in 标准输入流,从键盘输入等
7. System.exit(0);推出当前运行的虚拟机。参数为int , 非0 表示异常退出。
Math数学计算公式 全部是静态函数
1. Math.random() 产生一个0-1之间的随机数。返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
2. Math.ceil(12.56) 返回大于参数的最小整数。pring 13
Math.floor():返回小于参数的最大整数。
Math.round():返回四舍五入的整数。
Math.pow(a,b):a的b次方。
3. Math.abs(num) ;获取一个数的绝对值
Math.max(a, b) ;比较两个数值大小,返回大的一个数
Math.min(a, b) ;比较两个数值大小,返回小的一个数
Date日期 (很多方法已过时,被Calendar取代) java.util.Date
1.构造函数2个
Date();返回当前时间 Fri Oct 02 02:57:36 CST 2015
Date(long);填入一个long毫秒值,返回那一时刻的时间 Fri Oct 02 02:55:06 CST 2015
2.常用方法
after(Date) 测试date日期是否在此之前
before(Date when) 测试date日期是否在此之后
compareTo(Date anotherDate) 比较两个日期的先后
getTime() 获取毫秒值
setTime(long time) 设置毫秒值
Calendar日历对象是一个封装很多的类。
1.获取对象
Calendar c = Calendar.getInstance();//静态引用获取,其中Calendar的静态字段可以使用变量名.进行引用
2.Calendar对象---->Date对象
Date d = c.getTime();
Calendar对象变成毫秒值
long l = c.getTimeInMillis();
Date对象---->Calendar对象
c.setTime()
毫秒值变成Calendar对象
c.setTimeInMillis();
3.常用方法
c.add(Calendar.DAY_OF_MONTH, x);通过调用字段直接改变值得大小 改(int)X天(DAY_OF_MONTH+X)
c.set(2012, 2, 1);//设置Calendar对象时间
c.roll(Calendar.DAY_OF_MONTH, 8);//设置当前日+8,如果大于本月则计算下月几号,但是c月份不变,不会增加
int year = c.get(Calendar.YEAR); 获取年
int month = c.get(Calendar.MONTH)+1; 获取月
int day = c.get(Calendar.DAY_OF_MONTH); 获取日
int week = c.get(Calendar.DAY_OF_WEEK); 获取星期
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间 java.text.DateFormat包
|--SimpleDateFormat 允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化
1.构造方法 private DateFormat() ;私有构造器,可以调用自身静态方法获取
2.获取DateFormat对象引用
DateFormat.getInstance()获取年月日时分秒格式
DateFormat.getDateInstance();获取年月日格式
DateFormat.getTimeInstance();获取时分秒格式
DateFormat.getDateTimeInstance();获取年月日时分秒格式
可以使之格式,该类拥有格式字段:
SHORT 完全为数字,如 12.13.52 或 3:30pm
MEDIUM 较长,如 Jan 12, 1952
LONG 更长,如 January 12, 1952 或 3:30:32pm
FULL 是完全指定,如 Tuesday、April 12、1952 AD 或 3:30:42pm PST。
DateFormat.getDateInstance(DateFormat.LONG);
parse(String) 将一个 日期/时间字符串 格式化为Date。
format(Date date) 将一个 Date 格式化为日期/时间字符串。
3.日期对象和毫秒值之间的转换。
毫秒值-->日期对象 :
1,通过Date对象的构造方法 new Date(timeMillis);
2,还可以通过setTime设置。 setTime(long)
日期对象-->毫秒值:
2,getTime方法。
SimpleDateFormat 可以自定义日期格式的子类
DateFormat dateFormat = new SimpleDateFormat("yyyy---MM---dd");将dateFormat定义为后面的格式,转换一次转换
Date date = dateFormat.parse("2012---3---2");将日期格式的字符串-->日期对象。
String str_date = dateFormat.format(new Date());将当前日期对象-->日期格式的字符串。
/* 练习:
* "2012-3-17"到"2012-4-6"中间有多少天?
* 思路:
* 1,将日期格式的字符串转成Date对象。
* 2,将Date对象转成毫秒值。
* 3,相减,在变成天数
public static void Day_Count() throws ParseException {
String s1 = "2012--3--17" ;
String s2 = "2012--4--6" ;
DateFormat df = new SimpleDateFormat("yyyy--mm--dd");//构造一个自定义的类
Date d1 = df.parse(s1);
Date d2 = df.parse(s2);
long l = (d1.getTime()-d2.getTime());
long days = Math.abs(l/1000/60/60/24);
System.out.println(days);
}
Runtime: 没有构造方法摘要,说明该类不可以创建对象。
又发现还有非静态的方法。说明该类应该提供静态的返回该类对象的方法。
而且只有一个,说明Runtime类使用了单例设计模式。
1.构造方法 调用自身静态方法获取对象
RunTime r = RunTime.getRunTime();
2.方法
r.exec("notepad.exe"); 调用方法打开记事本,执行某个程序
r.exec("notepad.exe E:\\Test01.txt");调用方法打开记事本程序,用改程序执行打开某个地址的txt文件。
3.查看虚拟机内存
long l1 = r.totalMemory();返回 Java 虚拟机中一共内存量
long l2 = r.freeMemory();返回 Java 虚拟机中的空闲内存量
long l3 = r.maxMemory();返回 Java 虚拟机中试图使用的最大内存量
- 常用内置对象总结(10)
- jsp常用的九个内置对象总结
- JSP内置对象(9个常用内置对象)
- JSP常用内置对象的常用方法总结
- js内置对象常用方法总结 上篇(Date String Array Math )
- JavaScript(三)常用内置对象
- JSP常用内置对象
- JSP常用内置对象
- jsp常用内置对象
- jsp常用内置对象
- js常用内置对象
- JSP常用内置对象
- JSP常用内置对象
- jsp常用内置对象
- jsp常用内置对象
- javascript常用内置对象
- jsp常用内置对象
- js常用内置对象
- 写在S5世界总决赛前夕
- 常用的Java设计模式(一)
- 讨厌的堆排序
- UIActionSheet
- Android动画技术
- 常用内置对象总结(10)
- 屏幕截图功能实现
- 【FastDev4Android框架开发】AndroidAnnnotations注入框架使用之线程处理Threading(十二)
- UGUI(1)List列表的封装
- MAC远程桌面到windows 提示“凭证不正确"解决方式
- Android 动画
- 一个普通211本科生找工作的那些事儿!
- Ios开发之根据状态栏获取网络的连接状态
- 流程控制