问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

能讲解一下java中static修饰符作用吗(详细一点,越详细越好

发布网友 发布时间:2022-04-23 19:12

我来回答

3个回答

热心网友 时间:2023-09-08 06:29

是静态修饰符,什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。这样做有什么意义呢?
在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是有种情况例外,就是该成员是用static声明的(在这里所讲排除了类的访问控制),例如:
未声明为static
class ClassA{
int b;
public void ex1(){

}
}
class ClassB{
void ex2{
int i;
ClassA a = new ClassA();
i = a.b; //这里通过对象引用访问成员变量b
a.ex1; //这里通过对象引用访问成员函数ex1
}
}

声明为static
class ClassA{
static int b;
static void ex1(){

}
}
class ClassB{
void ex2{
int i;
i = ClassA.b; //这里通过类名访问成员变量b
ClassA.ex1; //这里通过类名访问成员函数ex1
}
}
通过以上两种比较,就可以知道static用来修饰类成员的主要作用了,在java类库当中有很多类成员都声明为static,可以让用户不需要实例化对象就可以引用成员,最基本的有Integer.parseInt(),Float.parseFloat()等等用来把对象转换为所需要的基本数据类型。这样的变量和方法我们又叫做类变量和类方法。
接下来讲一下被static修饰后的变量的值的问题,刚才在前面讲过,被static修饰后的成员,在编译时由内存分配一块内存空间,直到程序停止运行才会释放,那么就是说该类的所有对象都会共享这块内存空间,看一下下面这个例子:
class TStatic{
static int i;

public TStatic(){
i = 4;
}

public TStatic(int j){
i = j;
}

public static void main(String args[]){
TStatic t = new TStatic(5); //声明对象引用,并实例化
TStatic tt = new TStatic(); //同上
System.out.println(t.i);
System.out.println(tt.i);
System.out.println(t.i);
}
}
这段代码里面Tstatic类有一个static的int变量I,有两个构造函数,第一个用于初始化I为4,第二个用于初始化i为传进函数的值,在main中所传的值是5,程序首先声明对象的引用t,然后调用带参数的构造函数实例化对象,此时对象t的成员变量I的值为5,接着声明对象tt,调用无参数的构造函数,那么就把对象tt的成员变量i的值初始化为4了,注意了,在这里i是static,那就是说该类的所有对象都共享该内存,那也就是说在实例化对象tt的时候改变了i的值,那么实际上对象t的i值也变了,因为实际上他们引用的是同一个成员变量。最后打印的结果是三个4。

热心网友 时间:2023-09-08 06:29

static修饰的就是静态的,内存区域不一样,这个静态的修饰,类没有实例,也可以调用,JVM启动时就会先创建出来,也叫全局的

热心网友 时间:2023-09-08 06:30

static变量是在类第一次加载的时候已经准备的,static方法是可以直接通过类名访问的
能讲解一下java中static修饰符作用吗(详细一点,越详细越好

通过以上两种比较,就可以知道static用来修饰类成员的主要作用了,在java类库当中有很多类成员都声明为static,可以让用户不需要实例化对象就可以引用成员,最基本的有Integer.parseInt(),Float.parseFloat()等等用来把对象转换为所需要的基本数据类型。这样的变量和方法我们又叫做类变量和类方法。接下来讲一...

java中static作用详解

在Java中,`static`关键字是一个非常重要的修饰符,它主要用于修饰类成员(包括变量、方法和代码块)和内部类。其主要作用包括:1. **属于类而非实例**:被`static`修饰的成员属于类本身,而不是类的某个特定实例。因此,这些成员可以通过类名直接访问,而无需创建类的实例。2. **内存分配**:静...

JAVA! static什么作用?

static是静态修饰符,static可以用来区分成员变量、方法是属于类本身还是属于类实例化后的对象。有static修饰的成员属于类本身,没有static修饰的成员属于类的实例。static静态变量是属于类的,只有一份存储空间,是类之间共享的,牵一发而动全身,一处变,处处变。实例变量属于实例对象,创建几次对象,就有...

JAVA 中的关键字static

前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 一、面向过程设计中的static 1、静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include <iostream.h>void fn();static int n; //定义静态全局变量v...

java static作用

作用于内部类上时:在定义内部类的时候,可以在其前面加上一个权限修饰符static。此时这个内部类就变为了静态内部类。通常称为嵌套类,当内部类是static时,意味着:[1]要创建嵌套类的对象,并不需要其外围类的对象;[2]不能从嵌套类的对象中访问非静态的外围类对象(不能够从静态内部类的对象中访问...

在java中为什么要把main方法定义为一个static方法

1、首先介绍一下static这个修饰符 在类中,变量的前面有修饰符static称为静态变量(类变量),方法的前面有修饰符static称为静态方法(类方法)。静态方法和静态变量是属于某一个类,而不属于类的对象。2、如果一个方法没有用static来修饰的话就说明这是一个成员方法,只能通过对象来调用这个方法 3、在...

java主函数public static void main(String args[])中static的...

static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有...

关于java中public static void 等这些修饰符的具体用法我很迷茫高人帮...

public ---公用标示,类实例化后可以被调用的方法、变量 static ---不用创建类实例就可以调用的方法、变量 void ---方法无返回值

java中Static为什么不能修饰abstract的方法?

Java中用static修饰符修饰的方法被称为静态方法,本文我们来看看Java中static静态方法的用法特点。Java的static静态方法是属于整个类的类方法。不用static修饰符限定的方法,是属于某个具体类对象的方法。static方法使用特点如下:(1)引用这个方法时,可以使用对象名做前缀,也可以使用类名做前缀;(2)...

JAVA 中static,final的用法最好有个例子 说明一下?急

一、static 请先看下面这段程序: public class Hello{ public static void main(String[] args){ //(1) System.out.println("Hello,world!"); //(2) } } 看过这段程序,对于大多数学过Java 的从来说,都不陌生。即使没有学过Java,而学过其它的高级语言,例如C,那你也应该能看懂这段代码的...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
几何e值得买吗 我英语80分左右总是上不去(100分满分)怎么办... 刚绣好的十字绣怎么洗?画过格的 台州温岭第一人民医院有儿科吗 北山职业技术学校有哪些专业? 在温岭市找一份夜里兼职的驶机工作我现白天在厂里开车,想多收入,找... ...网线连接了客厅的路由器再连接到电脑上,卧室用的是和客厅路由器分... ...器放在客厅看电视用,卧室里面我还得再牵一根网线怎么办? ...台式 路由器在客厅距离太远拉网线不方便 卧室里有网线插口 卧室的网 ... 在临海社保缴费了一年后离开没办转移,去宁波参加社保 后又回临海参加社... java中什么时候该用static修饰方法?有什么好处或者坏处? JAVA中static修饰成员变量时 和 不修饰成员变量时的区别 如下面的两个例子 的区别 为什么下面的是错误的 java中final和static修饰变量有什么好处 求教,static修饰类中变量的问题 Java中 final和static修饰的变量有什么区别? static变量特点 C语言中static 修饰的变量只能在本文件中使用吗 java方法中用static修饰变量为什么会出错? java 中static修饰的变量的问题 为什么用static来修饰方法或者变量?用处 任何用static修饰的变量都会自动获得初值0吗?在线等。 用static修饰的成员变量和其他的成员变量有什么区别 C语言中 在一个函数中用 static修饰的变量,还能给它赋上新值吗? 去香港买友邦保险怎么样? 现在*的高收入人士很流行到香港买保险,请问香港保险保险吗?是不是安全可靠?如何办理? 香港保诚保险购买经历 香港有多少家保险公司,比较靠谱的保险公司是哪几家? 保诚的重疾险值得买吗 香港买的英国保诚保险是真的吗? 香港宝诚保险靠谱吗? static修饰全局变量 局部变量和函数时候的区别 static修饰的变量叫做 “醇不过水仙,香不过肉桂”, 漫谈武夷岩茶果香肉桂有什么特别? 地球有几个海沟? 海沟分布在哪些地方? 海沟分布在哪里? 世界十大海沟有哪些? 我们已知的海沟有多少条,主要分布在哪里? 海沟超过10000米的有哪几条 海沟是怎样形成的 海沟的地理分布 世界十大海沟 海沟是什么样的? 世界六大海沟? 海沟分布于海洋哪里? 深邃的海沟怎样形成的? 海沟的资料 太平洋西部有哪些海沟? 关于海沟 海沟的构造有哪些?
  • 焦点

最新推荐

猜你喜欢

热门推荐