Java的常用类(一)

一、内部类

(一)概念:
把类定义在其他类的内部,这个类就被成为内部类

(二)访问特点:
1、内部类可以直接访问外部类的成员,包括私有
2、外部类要访问内部类的成员,必须创建对象

(三)内部类的位置:
成员位置:在成员位置定义的类,被称为成员内部类
局部位置:在局部位置定义的类,被称为局部内部类

(四)成员外部类的访问:
1、先创建外部类对象,后调用外部类名.内部类名 对象 = 外部类对象.内部类对象
2、
Wai w = new Wai()
Wai.Nei n = w.new Nei()
3、内部类访问外部类成员
外部类.this.外部类成员

(五)成员内部类常用修饰符:
private为了保证数据的安全性
static为了让数据访问更方便
注意:
1、被static修饰的成员内部类只能访问外部静态成员
2、内部类和外部类没有继承关系
3、通过外部类名限定this对象

(六)局部内部类:
1、可以直接访问外部类成员
2、在局部位置,可以创建内部类对象,通过对象调用内部类方法,来使用局部内部类功能
3、局部内部类在访问局部变量必须用final修饰
4、局部变量是随着方法的调用而调用,随着调用完毕而消失,而堆内存内容并不会立即消失,所以要添加final修饰

(七)匿名内部类:
1、前提:存在一个类(具体类或者抽象类)或者接口
2、格式: new 类名或接口名(){重写方法}
3、本质:是一个继承了该类或者实现了该接口的子类匿名对象

二、包装类

(一)概念:
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据

(二)作用:
用于基本数据类型与字符串之间的转换

(三)基本类型的包装类:(8个)
|byte|short|int|long|float|double|char|boolean|
|Byte|Short|Integer|Long|Float|Double|Character|Boolean|

(四)八个包装类总结:
1、八个包装类都在一个包下,不需要导包
2、前六个与数字相关,都默认继承父类Number
3、八个包装类都带有自己对应参数的构造方法(除了Character无构造方法,带String类型)
注意:
JDK5的新特性自动装箱和拆箱
自动装箱:把基本类型转换为包装类类型
自动拆箱:把包装类类型转换为基本类型
对Integer i = x;针对byte范围-128到127之间的数据做了一个数据缓冲池,如果数据是该范围内的,每次并不创建新的空间
eg:
Integer i1 = 45;
Integer i2 = 45;
System.out.println(i1 == i2);
System.out.println( i1.equals (i2) )
System.out.println("                    ")
Integer i3 = 456;
Integer i4 = 456;
System.out.println(i3 == i4);
System.out.println(i3.equals (i4) )

输出结果是
true
true
                                                    
flase
true
因为-128~127是byte的取值范围,如果在这个取值范围内,自动装箱就不会创建新的对象,而是从常量池中获取,超过了byte取值范围就会再创建新对象,这就是(i1==i2)结果是true的原因

三、Interger类(包装类的补充)

(一)描述:
Interger类在对象中包装了一个基本类型int值,该类提供了多个方法,能在int类型和String类型之间互相转换,还提供了处理int类型时非常有用的其他一些常量和方法

(二)构造方法:
public Interger(int value);
public Interger(String s);
这个字符串必须由数字字符组成

(三)int和String转换:
int ->String:

String valueof(number)

String->int:

public static int parseInt(String s)

四、Character类

(一)描述:
Character类在对象中包装了一个基本类型char的值,该类提供了几种方法,以确定字符的类别(小写字母,数字等)

(二)构造方法:
Character(char value)

(三)成员方法:
1、判断给定字符是否为大写字符
public static boolean isUpperCase(char ch);

2、判断给定字符是否为小写字符
public static boolean isLowerCase(char ch);

3、判断给定字符是否为数字字符
public static boolean isDigit(char ch);

4、把给定字符转换为大写字符
public static char toUpperCase(char ch);

5、把给定字符转换为小写字符
public static char toLowerCase(char ch);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

z.haoui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值