第一次总结
1.访问限定符的用法
2.this与super的用法
3.final的用法
4.static的用法
5.String类的常用构造方法和常用方法
1.访问限定符的用法
- Public : 共有的,所有类都可以访问
- Protected: 受保护的,父子友好、包内友好。同包的类可以访问,跨包有继承关系可以访问
- 无访问修饰符:默认的,包内友好,同包其他类可以访问
- Private:私有的,只有本类可以访问
2.this与super的用法
this:用在一个方法中,表示调用当前方法的对象
用在构造方法中,表示调用当前类的另外一个构造方法,具体用哪一个,取决于参数列表
super:
用在一个方法中,表示当前类的父类的对象,用来调用父类的方法
用来在子类中调用重写之前的方法
用在子类的构造方法中,表示调用父类的构造方法
在子类的构造方法中。默认会调用父类的无参构造方法
3.final的用法
1、用于修饰变量,则该变量值不可更改(常量)
2、用于修饰方法,该方法不能被子类重写
3、用于修饰类,该类不能被继承
4.static的用法
static 静态的
可以用来声明类,属性,方法和代码块
static属性:类属性 该类所有的对象共享的一个变量
非静态属性:成员属性 该类的每一个对象都独立的有一个变量
static方法:类方法
非static方法:成员方法
调用成员方法的时候,根对象本身的类型[new的类型]有关系
在调用类方法的时候,只跟变量的类型有关系
static属性和static方法可以通过对象来调用
但通常情况下都直接通过类名调用
在静态方法中不能够直接调用非静态的属性和方法
static类:一般用来定义内部类[嵌套类]
static代码块
static{
}
程序的执行顺序:
1.加载类,将class文件加载到JVM的内存中[开辟类的内存空间]
加载的时候,所有的static的属性和代码块都会按顺序执行
2.开始执行主函数
所有的方法[static方法和成员方法]必须要调用才会执行
创建某个类的对象[开辟对象的内存]
开辟对象的内存空间的时候,所有的成员属性和非静态代码块会按顺序执行
创建ABC三个类
- 先加载类执行static B b = new B();输出AB
- 执行主方法C.change,创建B的对象输出AB
输出结果:
5.String类的常用构造方法和常用方法
Java中的常用类:
1.String 2.StringBuffer 3.StringBuilder
一.字符串的构造方式
字符数组转换成字符串
String s = new String(char[]);
String s = new String(char[],startIndex,count);
startIndex:下标位置 count:个数
输出结果:
count不能超过字符数组长度,否则报错下标越界
字节数组转换成字符串
String s = new String(byte[]);
String s = new String(byte[],charset);
String s = new String(byte[],startIndex,count,charset);
charset按指定字符集转换
输出结果:
二、字符集:
1.所有的字符都是用数字表示的
2.字符用哪个数字表示是有不同的标准的
3.这些标准就称作字符集
4.常见的字符集
ISO-8859-1 ~ ISO-8859-14 只识别半角字符
半角字符:ABC abc 123
全角字符: ABCabc 123
GBK 简体中文 字符集 [支持中文,英文和数字]
GB2312 GB18030
UTF-8 基于Unicode编码的字符集
三、字符串的常用方法
字符串转换成字符数组
toCharArray()
字符串转换成字节数组
getBytes();
getBytes(charset);
1.查找
charAt(index); 根据下标取出一个字符
输出结果:
indexOf(s); 查找s在字符串中第一次出现的下标位置
输出结果:
lastIndesOf(s); 查找s在字符串中最后一次出现的下标位置
输出结果:
contains(s); 是否包含指定的字符串
返回值为boolean类型
2.匹配
equals(s) 字符串是否以指定的字符串”相等
equalsIgnoreCase(s)字符串是否以指定的字符串”相等” 忽略大小
match(s) 字符串是否以指定的字符串匹配
3.替换
replace(oldString,newString) 替换指定的字符串
replaceAll(oldString,newString)替换指定的字符串 //可用于正则表达式
输出结果:
replaceFirst(oldString,newString) 替换指定的字符串,只替换第一次出现的
输出结果:
4.截取
subString(start) 从指定下标截图的字符串末
输出结果:
subString(start,end); 从指定下标截图的字符串指定位置
输出结果:
5.切割
split(“标记”) 将字符串根据指定字符切割成字符数组
输出结果:
6.字符串长度:包含多少个字符
length()