可以用来声明类,属性,方法和代码块
static属性:类属性 该类所有的对象共享的一个变量
非静态属性:成员属性 该类的每一个对象都独立的有一个变量
static方法:类方法
非static方法:成员方法
调用成员方法的时候,根对象本身的类型[new的类型]有关系
在调用类方法的时候,只跟变量的类型有关系
static属性和static方法可以通过对象来调用
但通常情况下都直接通过类名调用
在静态方法中不能够直接调用非静态的属性和方法
static类:一般用来定义内部类[嵌套类]
static代码块
static{
}
===========================================================================
1.加载类,将class文件加载到JVM的内存中[开辟类的内存空间]
加载的时候,所有的static的属性和代码块都会按顺序执行
2.开始执行主函数
所有的方法[static方法和成员方法]必须要调用才会执行
3.创建某个类的对象[开辟对象的内存]
开辟对象的内存空间的时候,所有的成员属性和非静态代码块会按顺序执行。
理解参考运行实例
============================================================================
public class A{
public A(){
System.out.println("A");
}
}
public class B extends A{
public B(){
System.out.println("B");
}
}
public class C{
A a = new A();
static B b = new B();
public C(){
System.out.println("C");
}
public static void change(){
B b = new B();
}
public static void main(String[] args){
C.change();
}
}
执行结果:ABAB
============================================================================
Java中的常用类
String StringBuffer StringBuilder
1.字符串的构造方式
String s = “ABCD”;
String s = new String(“ABCD”);
//字符数组转换成字符串
String s = new String(char[]);
String s = new String(char[],startIndex,count);
//字节数组转换成字符串
String s = new String(byte[]);
String s = new String(byte[],charset);
String s = new String(byte[],startIndex,count,charset);
字符集:
1.所有的字符都是用数字表示的
2.字符用哪个数字表示是有不同的标准的
3.这些标准就称作字符集
4.常见的字符集
ISO-8859-1 ~ ISO-8859-14 只识别半角字符
半角字符:ABC abc 123
全角字符: ABCabc 123
GBK 简体中文 字符集 [支持中文,英文和数字]
GB2312 GB18030
UTF-8 基于Unicode编码的字符集
2.字符串的常用方法
字符串转换成字符数组
toCharArray();
字符串转换成字节数组
getBytes();
getBytes(charset);
查找
charAt(index); 根据下标取出一个字符
indexOf(s); 查找s在字符串中第一次出现的下标位置
lastIndesOf(s); 查找s在字符串中最后一次出现的下标位置
contains(s); 是否包含指定的字符串
匹配
equals(s) 字符串是否以指定的字符串"相等"
equalsIgnoreCase(s)字符串是否以指定的字符串"相等" 忽略大小写
match(s) 字符串是否以指定的字符串匹配
替换
replace(oldString,newString) 替换指定的字符串
replaceAll(oldString,newString)替换指定的字符串
replaceFirst(oldString,newString) 替换指定的字符串,只替换第一次出现的
截取
subString(start)
subString(start,end);
切割
split("标记")
字符串长度:包含多少个字符
length()