VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • static关键字的一些使用

通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。

总的来说,用static声明的静态变量就是一种独立于类的对象的方法或属性

在B站上听了狂神老师的课程,我了解到了static的一些重要特性,在这里进行一些归纳总结:

1.static声明的方法和属性是可以直接用类名调用,而不需要对象调用的

譬如,在类A中:


 
class A{
 
public static int num1;
 
public int num2;
 
}

此时想在主类里面调用num1,num2则:


 
public class B{
 
public static void main(String[] args){
 
A a = new A();
 
System.out.println(A.num1);//此处可以用a.num1也可
 
System.out.println(a.num2);//此处只能用对象a调用
 
}
 
}

静态方法与之同理

2.针对代码块而言,static代码块 先于 非静态代码块 先于 构造方法

image-20220114224729416

如图所示,在创建对象时,执行构造方法之前会先执行代码块内的内容,而static先于非静态的,再次说明static声明的内容是和类一起初始化的,而不是对象

注:static声明的内容只执行一次,无论创建多少次对象都只执行一次

也就是说,还是上面的例子,如果:


 
A a = new A();
 
A b = new A();
 
A c = new A();

static的代码块的内容还是只执行一次

3.静态导入包的使用

在对其他的工具包进行导入时,可以添加static关键字,例如:


 
import static java.lang.System.out;

在你想要进行System.out.println("")输出时,可以写作:


 
out.println("");

我的理解是,通过导入System包的out变量,并用static来修饰这一个out变量,使之在该java文件中的out变成一个静态变量,就可以像调用类中static修饰的变量一样,直接调用out。

这是我的static关键字学习过程中的收获,如果大家有不同的想法欢迎讨论。

 

出处:https://www.cnblogs.com/cola-pink/p/15805821.html


相关教程