7.28
1.静态修饰的变量或方法存放在堆内存的方法区中
2.String类常用方法
charAt(int i)查找字符串某一位
tocharArray()将一个字符串返回成字符数组
equals(String str)字符串比较函数
equalsIgnoreCase(antherString)忽略大小写进行比较
subing(int
star,int end)截取函数
replace(Stringold,String new)替换字符串函数
split(String分隔符)分隔函数
3.调错
1打印
2 logger
3 debug
4.static关键字
static修饰的成员变量为类变量,可以直接由类调用,static和final共同修饰的变量为静态全局变量一旦被初始化之后便不可被修改,
被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。
对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。
因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。
publicclassstaticText {
staticinta= 1;
intb;
publicstaticvoidshow()
{
//b=2;//此句是错误的
a= 1;
}
}
static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。例如:
public class Test5 {
private static int a;
private int b;
static{
Test5.a=3;
System.out.println(a);
Test5 t=new Test5();
t.f();
t.b=1000;
System.out.println(t.b);
}
static{
Test5.a=4;
System.out.println(a);
}
public static void main(String[] args) {
// TODO自动生成方法存根
}
static{
Test5.a=5;
System.out.println(a);
}
public void f(){
System.out.println("hhahhahah");
}
}
运行结果:
3
hhahhahah
1000
4
5
利用静态代码块可以对一些static变量进行赋值,最后再看一眼这些例子,都一个static的main方法,这样JVM在运行main方法的时候可以直接调用而不用创建实例。