java是目前最火的编程语言之一,在之前的学习和工作中,都是在使用C语言,于是想多学习一门语言,就选择了java。初次接触java,也是第一次写博客,在此分享一下学习java的历程,有错误的地方请多指教。
static关键字的作用
static静态,是一种修饰符,最初由C语言引入,因此在C语言中是比较常见的。static的修饰属性属于类,经过static修饰的成员变量和成员方法,会独立于该类创建的对象,也就是说不需要依赖对象去对成员变量和成员方法的访问,只要类被加载了,就可以通过类名去访问,并且不会因为对象的多次创建而在内存中创建多个被static修饰的成员变量或成员方法
static使用方法
static修饰成员变量
public static void main(Stirng args[]){
Fruit fruit = new Fruit();
friuit.kind = "苹果";//未经static修饰,要通过创建对象访问
Fruit.color = "red";//static修饰的成员变量可以通过类名直接访问
}
class Fruit{//创建一个名为水果的类
String kind;//种类
static String color;//颜色(static)修饰
Fruit(){//构造方法
}
}
static修饰成员方法
static除了可以修饰成员变量,还可以修饰成员方法,对成员方法的引用跟成员变量一样,可以直接通过类名.成员方法名(参数列表)进行访问。
public static void main(String args[]){//main方法就是经过static修饰的
Fruit fruit = new Fruit("apple","red");
Fruit.info();//通过类名访问static修饰的方法
}
class Fruit{
String kind;//种类
String color;//颜色
Fruit(String kind,String color){//有参构造方法
this.kind = kind;
this.color = color;
}
static void info(){
System.out.println("kind:"+kind+",color:"+color);
}
}
static代码块
static还可以修饰代码块,关于代码块的内容,目前还没学习到,会在后面学习了再补上吧。
值得注意的是,静态成员在类加载时加载并初始化;无论一个类存在多少个对象,静态的属性,永远只存在一份,可以理解为该属性为所有对象公用的;在访问时,静态不能访问非静态,非静态可以访问静态;在静态修饰的方法被调用时,对象有可能还未创建。
写在最后
java是一门功能很强大的语言,想要学会这门语言需要付出很多,对于我这样的java小白仍需继续努力深刻探究,第一次写博客,请各位大佬指正。