推广 热搜: csgo  vue  2023  angelababy  gps  信用卡  新车  htc  落地  控制 

Java面试,关键字static

   2023-07-25 网络整理佚名2070
核心提示:静态成员变量和静态方法的作用主要有以下几个方面:1.需要注意的是,静态成员变量和静态方法不能访问非静态成员变量和非静态方法,因为非静态成员变量和非静态方法需要通过类的实例对象才能访问。静态变量的初始值是0或null,除非在声明时指定了其他的值。是Java中的一个关键字,它可以用来修饰变量、方法和代码块。什么情况下使用关键字?需要在不创建对象的情况下访问类的变量或方法。

public class MyClass {
public static void myStaticMethod() {
// code here
}
}

静态成员变量和静态方法都可以通过类名直接访问,无需创建类的实例对象。 例如:

MyClass.myStaticVariable = 10;
MyClass.myStaticMethod();

静态成员变量和静态方法的作用主要包括以下几个方面: 1、共享数据:静态成员变量可以在一个类的所有实例对象之间共享,可以用来存储所有实例对象共同需要的数据。 2、节省空间:静态成员变量只需要存储一份,而不需要为每个实例对象存储一份,可以节省内存空间。 3、访问方便:通过类名可以直接访问静态成员变量和静态方法,无需创建类的实例对象,使用方便。 需要注意的是,静态成员变量和静态方法不能访问非静态成员变量和非静态方法,因为非静态成员变量和非静态方法需要通过类的实例对象来访问。

2.修改变量的内存存储

局部变量:定义在方法体中的变量,当程序执行到方法体时会被初始化,并存放在栈(stack)内存中。

成员变量:定义在类体内部和方法体外部的变量,分为实例变量和静态变量。

实例变量:未被修改的成员变量。 实例变量由对象拥有,在对象创建时初始化,并存储在堆内存中。

静态变量:修饰的成员变量,静态变量是所有对象共享的,会在类加载时初始化,存放在方法区。

1.当类被加载到内存中时,静态变量被初始化并分配内存空间。 静态变量的初始值为 0 或 null,除非在声明时指定了另一个值。 2.静态变量的值可以在类的任何方法中使用,包括静态方法和非静态方法。 静态变量可以通过类名访问,而无需先创建该类的对象。 3. 静态变量的值在类的所有实例之间共享。 如果一个实例修改静态变量的值,所有其他实例也会受到影响。 4、静态变量的生命周期与程序的生命周期相同。 它们在程序启动时初始化,在程序结束时销毁。 5、静态变量通常用来存储全局常量或者配置信息,也可以用来在类的所有实例之间共享数据。 这是一个例子:

public class MyClass {
public static int count = 0;
public int id;

public MyClass() {
id = count++;
}
}

在这个例子中,静态变量

count

用于为每个实例分配唯一的 id 值。每当创建新实例时,构造函数就会递增

count

并将其分配给实例的 id 变量。因为

count

是一个静态变量,其值在所有实例之间共享,因此每个实例都有一个唯一的 id 值。

三、总结

1. 它是什么?

是Java中的一个关键字,可用于修改变量、方法和代码块。 修饰的变量和方法属于类,而不属于类的实例对象。

2. 变量和实例变量有什么区别?

实例变量属于对象,每个对象都有自己的实例变量。 变量属于类,所有对象共享同一个变量。

3. 方法和实例方法有什么区别?

实例方法属于对象,必须通过对象来调用。 方法属于类,可以通过类名直接调用。

4.什么是代码块?

代码块是类加载时执行的代码块,可用于初始化类的静态变量。 该代码块只会执行一次。

5.什么时候使用关键词?

使用关键字的情况包括: - 需要访问类的变量或方法而不创建对象。 - 变量或方法需要在多个对象之间共享。 - 需要在类加载时执行一些初始化。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON