精华内容
下载资源
问答
  • static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖...

    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。

    被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。

    只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。

    用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象市,不生成static变量的副本,而是类的所有实例共享同一个static变量。

    static变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用–废话),但是不能在其他类中通过类名来直接引用,这一点很重要。实际上你需要搞明白,private是访问权限限定,static表示不要实例化就可以使用,这样就容易理解多了。static前面加上其它访问权限关键字的效果也以此类推。

    展开全文
  • 类的成员变量可以分成静态变量和实例变量,下面的文章主要为大家介绍的就是静态变量,主要包括了概念以及作用,以及静态变量与实例变量的区别,一起通过文章内容来进行详细的了解吧。1、什么是静态变量?静态变量又被...

    类的成员变量可以分成静态变量和实例变量,下面的文章主要为大家介绍的就是静态变量,主要包括了概念以及作用,以及静态变量与实例变量的区别,一起通过文章内容来进行详细的了解吧。

    1、什么是静态变量?

    静态变量又被叫做类变量,指的就是被tatic修饰的成员变量。

    2、静态变量在类当中的作用:

    静态变量能够被类的所有实例共享,所以的话,静态变量能够作为实例之间的共享数据,增加实例之间的交互性;

    假如,类的所有实例都包含一个相同的常量属性,那么就可以将这个属性定义为静态常量类型,从而节省内存空间。

    例:

    在类当中,定义一个静态常量PI:public static double PI = 3.14159256;

    3、静态变量和实例变量的区别:

    静态变量:

    运行的时候,Java虚拟机只为静态变量分配一次内存,在加载类的过程中完成静态变量的内存分配;在类的内部,可以在任何方法内直接访问静态变量;在其他类中,可以通过类名访问该类中的静态变量;

    实例变量:每创建一个实例,Java虚拟机就会为实例变量分配一次内存;在类的内部,可以在非静态方法中直接访问实例变量;在本类的静态方法或其他类中,那么就需要通过类的实例对象进行访问;

    关于静态变量就给你介绍到这里了,更多相关内容,请继续通过关注奇Q工具网的java入门以及java实例栏目来进行了解吧。

    推荐阅读:

    展开全文
  • 静态变量被实例化一次,静态方法可以在不实例化类实例的情况下从类中调用,静态类不能被实例化。@可以实例化RyanWilson静态类。您不能使顶级类成为静态的,但是当您使嵌套类成为静态的时,它可以独立于其父类被实例...

    本问题已经有最佳答案,请猛点这里访问。

    我在面试,面试官问我这个问题,我不能让他满意他正在寻找的正确答案,需要帮助,谢谢。

    静态变量被实例化一次,静态方法可以在不实例化类实例的情况下从类中调用,静态类不能被实例化。

    @可以实例化RyanWilson静态类。您不能使顶级类成为静态的,但是当您使嵌套类成为静态的时,它可以独立于其父类被实例化。

    @RyanWilson Pastebin.com/vsmg1vb4

    不是很好的复制品。static表示字段、方法或类不绑定到封闭类的实例,否则将是这种情况。

    静态变量是一个变量:

    public static int whatever = 0;

    静态方法是一种方法:

    public static void whatever() {}

    静态类是一个类:

    public static class SomeInnerClass {}

    (当类嵌套在另一个类中时,它只能有static修饰符)

    静态变量和方法可以从任何其他类访问,并且不绑定到该类的实例。例如,假设您有以下类:

    public class SomeClass {

    public static int myInt = 0;

    public static int add(int one, int two) {

    return one + two;

    }

    }

    从任何其他类中,您可以直接访问变量和方法,而无需创建SomeClass的实例:

    SomeClass.myInt = 23;

    int sum = SomeClass.add(SomeClass.myInt, 2); //this will equal 25

    如果变量和方法不是静态的,则必须先实例化某个类,然后引用该实例:

    SomeClass someClass = new SomeClass();

    someClass.myInt = 23;

    int sum = someClass.add(someClass.myInt, 2); //this will equal 25

    静态类用于将嵌套类与其父类分离,并移除对该父类实例的依赖关系。采用以下代码:

    public class ParentClass {

    public class ChildClass {}

    }

    从另一个(父类的非子类)类,您可以使用:

    ParentCLass parent = new ParentClass();

    但你不能这样做:

    ChildClass child = new ChildClass(); //this won't compile if it's not in ParentClass

    但是,如果childclass变为静态:

    public class ParentClass {

    public static class ChildClass {}

    }

    您将能够从另一个(父类的非子类)类实例化它:

    ChildClass child = new ChildClass(); //this will compile when put in any class

    我建议阅读一些关于类如何工作的Java基础知识:HTTPS://www. GeksFurgEK.Org/CaseSoObjsJava/

    在爪哇中,static是用来描述对象如何在内存中管理的关键字。这意味着静态对象专门属于类,而不是该类的实例。变量、方法、类可以是静态的。它们之间的区别和通常一样(变量、方法和类之间的区别)。静态变量(容器如int或string)、静态方法(一种内存中的方法,是类的一部分(可以调用没有类Hello .StActudiMod()的实例),静态类在Java中有点独特,用Java来研究静态类

    展开全文
  • 你正在做出许多不同概念的巨大混合。即使标题中的问题与身体中的问题不一致。无论如何,这些是你混淆的概念:>...让我们尝试快速描述它们。>变量在方法中声明,并且用作某种可变本地存储(in...

    你正在做出许多不同概念的巨大混合。即使标题中的问题与身体中的问题不一致。

    无论如何,这些是你混淆的概念:

    >变量

    >最终变量

    >字段

    >最终字段

    >静态字段

    >最终静态字段

    关键字static仅对字段有意义,但是在代码中,您将尝试在函数中使用它,其中不能声明字段(字段是类的成员;变量在方法中声明)。

    让我们尝试快速描述它们。

    >变量在方法中声明,并且用作某种可变本地存储(int x; x = 5; x)

    > final变量也在方法中声明,并且用作不可变的本地存储(final int y; y = 0; y; //将不会编译)。它们对于捕捉有人试图修改不应修改的东西的bug是有用的。我个人使我的局部变量和方法参数最终。此外,当您从内部的匿名类中引用它们时,它们是必需的。在某些编程语言中,唯一一种变量是不可变变量(在其他语言中,“默认”类型的变量是不可变变量) – 作为一个练习,尝试找出如何编写一个循环,指定在初始化后不允许更改任何内容的次数! (尝试,例如,解决fizzbuzz只有最终变量!)。

    > fields定义对象的可变状态,并在类中声明(class x {int myField;})。

    > final字段定义对象的不可变状态,在类中声明,必须在构造函数完成之前初始化(类x {final int myField = 5;})。它们不能被修改。它们在执行多线程时非常有用,因为它们具有与在线程之间共享对象相关的特殊属性(如果对象在构造函数完成后共享,则每个线程都会看到对象最终字段的正确初始化值,以及即使它与数据竞争共享)。如果你想要另一个练习,尝试使用只有最终字段,没有其他字段,没有任何变量和方法参数(显然,你被允许在构造函数中声明参数,但这一切!)再次解决fizzbuzz。

    >静态字段在任何类的所有实例之间共享。你可以把它们想象成某种全局的可变存储(class x {static int globalField = 5;})。最微不足道的(通常是无用的)例子是计算一个对象的实例(即类x {static int count = 0; x(){count;}},这里构造函数每次调用时都会增加计数,即,每次使用new x()创建x的实例。注意,与最终字段不同,它们本身不是线程安全的;换句话说,如果你从不同的线程实例化,你肯定会得到一个错误计数的x的实例与上面的代码;为了使它正确,你必须添加一些同步机制或使用一些专门的类来实现这个目的,但这是另一个问题(实际上,它可能是整本书的主题)。

    > final static fields是全局常量(类MyConstants {public static final double PI = 3.1415926535897932384626433;})。

    还有许多其他微妙的特性(如:编译器可以自由地将对最终静态字段的引用替换为它们的值,这使得反射在这样的字段上无用;最终字段实际上可能会被反射修改,但这是非常容易出错的;等等),但我想说你还有很长的路要走,进一步挖掘。

    最后,还有可能用于字段的其他关键字,如瞬态,易失性和访问级别(public,protected,private)。但这是另一个问题(实际上,如果你想问他们,许多其他问题,我会说)。

    展开全文
  • 根据他的说法,两个线程不一定共享静态变量,特别是在每个线程(主线程与ReaderThread)在其自己的处理器上运行并因此不共享相同的寄存器/缓存/等的情况下CPU不会更新另一个。基本上,他说有可能ready在主线程中更新,...
  • 文章目录引言C++对内存的划分如何落实在Linux上自由存储区和堆之间的问题栈常量区静态存储区静态局部变量静态局部变量静态全局变量、全局变量的异同 引言 在动态内存的博客中,我提到: 在Linux 内存管理的博客...
  • 则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参考生答案:正确答案:D8.2在调用函数时,如果...
  • 【单选题】在JAVA中关于抽象类的描述正确的说() 【填空题】如果子类中的某个方法的名字、返回值类型和____与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。 【多选题】下列对静态初始化...
  • 变量、过滤器和常量1.1 函数作用域函数作用域是function关键字创建的作用域functionindex(){$date['uid']=1;return$date['uid'];}unset($date['uid']);//未定义报错echo index();//1unset($date['uid']);//未定义...
  • 【单选题】下列常用包中,存放用户图形界面类库的包是()【多选题】下列关于静态方法的特点的描述中,正确的是:【填空题】处于新建状态的线程被启动后,将进入线程队列排队等待CPU,此时它已具备了运行条件,一旦轮到享用...
  • 几年前,我在大学里学习过面向对象的编程和设计,我记得讲师对使用静态变量或静态方法的人非常生气,因为他们把静态描述成一个非常糟糕的设计。我的理解是静态类型的东西,是获得全局"视觉"的东西,也就是说,它可以...
  • 【填空题】抽象类______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。...【多选题】下列关于线程的优先级说法中,正确的是()。【填空题】在线程通信中,调用wait( )可以是当前线...
  • 【单选题】定义一个公有 double 型常量 PI ,哪一条语句最好?( )【单选题】保险合同中约定保险权利义务关系协议的是(【填空题】是对事物的抽象,而 是对对象的抽象和归纳...【单选题】下面关于类的说法,不正确的是( ) ...
  • Java面试题(带答案)

    千次阅读 2021-03-15 14:06:52
    A: 程序会打出 \B: 程序会抛出 NullPointerException C: 非静态变量不能够被静态方法引用D: 编译器会抛出 \的错误 答案:C19,HashMap和HashTable的描述,错误的是? ( )A: 他们都实现了Map接口。B: HashMap非线程...
  • 展开全部答案:ABCFJava 抽象类在面向对象的概念中,所有的对象都是通过类来32313133353236313431303231363533e58685e5aeb...抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方...
  • 【单选题】下面()是正确的main()方法说明。【填空题】Java规定,如果子类中定义的成员方法与父类中定义的成员方法同名,并且参数的( )和类型以及( )的类型也相同,则父类中的同名成员方法被屏蔽。【填空题】一个try代码...
  • 【单选题】下面关于继承的说法中正确的是()【单选题】下列关于Java语言的数组描述中,错误的是()。【单选题】执行”String[] s = new String[10];”语句后,结论正确的是()。【单选题】在使用interface声明一个接口时,...
  • 【单选题】下列四个不同数制表示的数中,数值最大的是( )【单选题】下列不属于更新数据库操作的步骤的一项是 _______。...【单选题】关于泛型的说法错误的是_____。【填空题】java 中,新建的线程调用 start(...
  • auto变量三、静态变量、外部变量、局部变量的用法1. 文件级静态变量2. 全局变量(外部变量)使用方法3. 函数级静态变量4. 函数级局部变量总结 前言 作用域是在任何一种程序语言中都不可忽视的概念,只有清楚地知道...
  • Java地基(四)----变量、对象、静态方法1、变量1.1类型划分1.2按范围划分1.3 静态方法 static与实例之间的区别2、此对象非彼对象3、引用类型变量注意点4、操作符4.1 比较操作符(非常好用:instanceof):4.2移位操作...
  • B、外部变量的作用域是整个源程序 C、可以通过extern,将一些外部变量的作用域扩展到多个源文件 D、外部变量若定义为静态的,其他源文件不能使用该外部变量 4、下列选项中关于外部变量正确的是( )。 A、main函数是...
  • 【判断题】使用 动作标记,可以使用表达式或者字符串为 Bean 的属性赋值【单选题】在 HTML 中,要... 标记描述正确的是 ()【判断题】在 HTML 文档流中, 默认是块元素【单选题】给定以下 JSP代码片段,有2个客户依次浏...
  • 使用static修饰符的域被称为静态域或类变量,该类的每一个实例共享这个变量,这个变量存在于内存中的一个固定的位置。该类的任何实例都可以更改静态域的值,也可以在不创建类实例的情况下访问静态域。例如,假设要...
  • 下列在Java语言中关于数据类型和包装类的说法,正确的是() A.基本(简单)数据类型是包装类的简写形式,可以用包装类替代基本(简单)数据类型 B. long和double都占了64位(64bit)的存储空间。 C.默认的整数数据...
  • 吉大19秋学期《C语言程序设计》在线作业二题目试卷总分:100 得分:100一、单选题 (共 10 道试题,共 40 分)以下叙述中不正确的是A.在不同的函数中可以使用相同的名字的变量B.在一个函数内的复合语句中定义的变量在本...
  • Java数组静态初始化

    2021-03-05 17:09:35
    JAVA语法基础之数组一、一维数组数组是一组具有相同类型和名称的变量集合,能很方便的把一系列相同类型的数据保存在一起,这些变量称为数组元素。每个数组元素都有一个编号,这个编号叫做下标,可以通过下标来区别...
  • C语言内存管理二:变量存储类)1.程序中内存从哪里来1 1.程序中内存从哪里来1 4.5.1.1、程序执行需要内存支持 ()对程序来说,内存就是程序的立足之地(程序是被放在内存中运行的);程序运行时需要内存来存储一些...
  • Java面向对象练习题含解析(三)

    千次阅读 多人点赞 2021-04-07 20:30:11
    19、下列关于静态变量描述中,错误的是( ) A、静态变量指的是被static修饰的变量 B、静态变量是随着类的加载而加载 C、静态变量可以被所有的实例对象共享 D、静态变量同成员变量一样,都需要通过实例对象来调用...
  • 下列选项中,可以正确配置classpath的命令是( )。 A: set classpath =C:\Program Files\Java\jdk1.7.0_15\bin B: set classpath : C:\Program Files\Java\jdk1.7.0_15\bin C: classpath set =C:\Program Files\Ja...
  • 13.C语言(函数、变量作用范围)单元练习五32(函数、变量作用范围)单元练习五A. f(int array[ ][6]) B. f(int array[3][ ])C. f(int array[ ][4]) D. f(int array[2][5])2. 执行下列程序后, 变量a的值应为______。int ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 159,121
精华内容 63,648
关键字:

关于静态变量的描述正确的是