Chinaunix首页 | 论坛 | 博客
  • 博客访问: 283595
  • 博文数量: 58
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 600
  • 用 户 组: 普通用户
  • 注册时间: 2015-11-27 08:37
个人简介

从linux了解世界

文章分类
文章存档

2017年(5)

2016年(51)

2015年(2)

我的朋友

分类: Java

2016-07-30 15:05:04

Package:静态导包把只是对类中的静态方法和静态成员变量说的,可以用*把一个类的所有静态内容导入,如果和自己定义的内容重名,实际执行自己的。

Collection有一个超级根接口iterable(map没有),实现这个接口才可以使用迭代器才可以使用foreach增强for循环(foreach底层还是用的迭代器)

增强for循环简化迭代器写法,只要实现了iterable接口或者是数组对象都可以使用,在迭代过程中也不可以改变集合元素个数,foreach相当于只读的遍历,要改变元素还是用iterator

可变参数:数据类型变量名

一个方法使用了可变参数,那么调用该方法可以传递参数也可以不传递参数

可变参数实际上是一个数组对象,而且必须是最后的形参。不传参数,该数组也存在,只不过.length0,传入null则数组就没有了。

包装类主要提供了两大类方法:

1. 将本类型和其他基本类型进行转换的方法

2. 将字符串和本类型及包装类互相转换的方法

我们以 Integer 包装类为例,来看下包装类的特性。

Integer 包装类的构造方法:

如下代码所示:

Integer包装类的常用方法:

Parseint(“string”,2-36)2-36进制

Integer会把-128-127的对象缓存起来,因为使用率高:

Integer a=1integer b=1a==btrue

装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱

拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱

integerint类型比较时,会把integer自动拆箱

Integer a=1000int b=1000a==btrue

用包装类的valueOf转换字符串是最方便的

 

enum声明类继承了SerializableComparable两个接口。且采用enum声明后,该类会被编译器加上final声明(同String),故该类是无法继承的。枚举类的内部定义的枚举值就是该类的实例(且必须在第一行定义,当类初始化时,这些枚举值会被实例化)。枚举实例为public static final由于这些枚举值的实例化是在类初始化阶段,因为是枚举,所以不可以在外部new,因此构造方法必须是private的,也可以有抽象方法,但必须在对象中实现。

Enum sex{

         Man(“ha”){

         Public void print(){

                   Return;

}

}woman(“hey”)){

         Public void print(){

                   Return;

}

}

         String value;

         Private Sex(string value){

                   This.value=value;

}

Public abstract void print();

}

反编译之后

public static final sex man=new sex(“ha”)

public static final sex woman=new sex(“hey”)

枚举类中也可以定义成员变量和方法,和一般类不同的是枚举类的实例对象是固定的,因此只可以用sex.man(woman).调用。或者sex a=sex.boy;a调用。

枚举类可以用switch

Sex a=sex.boy;

switch (a) {

              caseboy:               //case不用声明哪个枚举类,如果可以则可以sex.静态成员

                     break;

              default:

                     break;

              }

阅读(2202) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~