精华内容
下载资源
问答
  • Java Static 关键字

    2021-01-12 22:01:21
    Java Static 关键字

    参考:https://zhuanlan.zhihu.com/p/76357196

    目录

    static用法:

    静态中没有super和this关键字。

    1、static修饰类的成员变量

    2、static修饰类的成员方法

    3、static修饰类

    4、静态代码块


    static用法:

    静态中没有super和this关键字。

    1、static修饰类的成员变量

    作用:如果一个类的成员变量使用static关键字,那么这个成员就不再属于对象了,而是属于类,会给所有该类的对象共享,在内存中只有一个。而如果一个类的成员变量没用static修饰,那么该成员变量属于类的对象,每个类对象都会有一个自己的这个成员。

    加载时间:随着类的加载而加载。

    调用:可以根据类名.  进行调用。

    2、static修饰类的成员方法

    作用:static修饰类的成员方法属于类。

    加载时间:随着类的加载而加载。

    被调用方式:可以根据类名.  进行调用。

    静态方法:
    1).可以调用静态的成员变量,成员方法
    2).不能调用非静态的成员变量,成员方法
    3).只能在静态方法中调用静态的成员

    3、static修饰类

    static不可以修饰顶级类,但是可以修饰内部类。

     静态内部类和非静态内部类之间区别:
    1. 内部静态类不需要有指向外部类的引用。但非静态内部类需要
    2. 静态类只能访问外部类的静态成员,非静态内部类能够访问外部类的静态和非静态成员。
    3. 非静态内部类不能脱离外部类实体被创建,非静态内部类可以访问外部类的数据和方法,因为他就在外部类里面。

    4、静态代码块

    典型用途: 用来一次性的对静态成员变量进行赋值.

    格式:

        static {
            方法体
        }

    当第一次用到本类时,代码块执行唯一的一次,第二次使用的时候就不在执行了;
    静态内容总是优先于非静态,所以静态代码块比构造方法优先执行。

    展开全文
  • java static关键字

    2021-01-27 22:32:35
    JAVA static关键字 ###07.10_面向对象(static关键字的特点)(掌握) A:static关键字的特点 a:随着类的加载而加载 b:优先于对象存在 c:被类的所有对象共享 举例:咱们班级的学生应该共用同一个班级编号。 其实这个...

    JAVA static关键字

    ###07.10_面向对象(static关键字的特点)(掌握)

    • A:static关键字的特点
      • a:随着类的加载而加载
      • b:优先于对象存在
      • c:被类的所有对象共享
        • 举例:咱们班级的学生应该共用同一个班级编号。
        • 其实这个特点也是在告诉我们什么时候使用静态?
          • 如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的。
        • 举例:
          • 饮水机(用静态修饰)
          • 水杯(不能用静态修饰)
          • 共性用静态,特性用非静态
      • d:可以通过类名调用
        • 其实它本身也可以通过对象名调用。
        • 推荐使用类名调用。
        • 静态修饰的内容一般我们称其为:与类相关的,类成员
    • B:案例演示
      • static关键字的特点

    ###07.11_面向对象(static的注意事项)(掌握)

    • A:static的注意事项
      • a:在静态方法中是没有this关键字的
        • 如何理解呢?
          • 静态是随着类的加载而加载,this是随着对象的创建而存在。
          • 静态比对象先存在。
      • b:静态方法只能访问静态的成员变量和静态的成员方法
        • 静态方法:
          • 成员变量:只能访问静态变量
          • 成员方法:只能访问静态成员方法
        • 非静态方法:
          • 成员变量:可以是静态的,也可以是非静态的
          • 成员方法:可是是静态的成员方法,也可以是非静态的成员方法。
        • 简单记:
          • 静态只能访问静态。
    • B:案例演示
      • static的注意事项

    ###07.12_面向对象(静态变量和成员变量的区别)(掌握)

    • 静态变量也叫类变量 成员变量也叫对象变量
    • A:所属不同
      • 静态变量属于类,所以也称为为类变量
      • 成员变量属于对象,所以也称为实例变量(对象变量)
    • B:内存中位置不同
      • 静态变量存储于方法区的静态区
      • 成员变量存储于堆内存
    • C:内存出现时间不同
      • 静态变量随着类的加载而加载,随着类的消失而消失
      • 成员变量随着对象的创建而存在,随着对象的消失而消失
    • D:调用不同
      • 静态变量可以通过类名调用,也可以通过对象调用
      • 成员变量只能通过对 象名调用
    展开全文
  • 本文针对Java static关键字的使用方法进行汇总,供大家参考,具体内容如下1.对于static关键字的使用的时候对于修饰变量的时候,它相当于一个全局变量;2.对于static修饰一个函数的时候他是在类被加载的时候首先会被...

    本文针对Java static关键字的使用方法进行汇总,供大家参考,具体内容如下

    1.对于static关键字的使用的时候对于修饰变量的时候,它相当于一个全局变量;

    2.对于static修饰一个函数的时候他是在类被加载的时候首先会被类加载,并且只能加载一次,并且这个方法可以不需要通过实例进行调用例如:

    mystatic.java

    package study;

    public class mystatic {

    public static int sta=0;

    public int st=0;

    //static方法优先被使用

    static{

    System.out.println("some static");

    }

    //创建的mystatic 方法

    public static void myStatic(){

    System.out.println("static");

    }

    public mystatic() {

    System.out.println("mystatic");

    }

    public void demo(){

    System.out.println("demo");

    }

    }

    test.java

    package study;

    public class test {

    public static void main(String[] args) {

    mystatic my=new mystatic();

    int demo=my.st;//创建对象调用非静态变量

    my.demo();//创建对象调用非静态函数

    mystatic.myStatic();//可以直接调用静态方法;

    int a=mystatic.sta;//可以直接调用静态变量

    //int b=mystatic.st;这个会报错,由于没有提前创建对象

    }

    }

    结果:

    some static

    mystatic

    demo

    static

    对于这个结果,由于创建的是mystatic类的时候优先调用static方法,然后再进行调用构造方法后再进行调用其它方法。

    以上就是本文的全部内容,希望对大家的学习有所帮助。

    展开全文
  • java 中, static 关键字修饰的方法或者变量不需要实例就可以访问,只要类被加载了,就可以通过类名去进行访问。static 修饰变量static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所...

    java 中, static 关键字修饰的方法或者变量不需要实例就可以访问,只要类被加载了,就可以通过类名去进行访问。

    static 修饰变量

    static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。

    非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。

    static成员变量的初始化顺序按照定义的顺序进行初始化。

    这里直接粘代码:

    public class TestStaicVariable {

    private static String name = "ll";

    public void setName(String value){

    name = value;

    }

    public String getName(){

    return name;

    }

    public static void main(String[] ages){

    System.out.println(TestStaicVariable.name);

    TestStaicVariable t = new TestStaicVariable();

    TestStaicVariable t1 = new TestStaicVariable();

    t.setName("lijingou");

    System.out.println(TestStaicVariable.name);

    System.out.println(t1.getName());

    }

    /*运行输出的结构lllijingoulijingou*/

    }

    这里用一句话来形容一下 静态变量:牵一发而动全身 。

    static修饰方法

    static 方法一般称为静态方法,静态方法不依赖于任何类的实例就可以进行访问,即通过类就可以执行方法。静态方法中不能访问 this 的,因为它不需要实例就可以执行。静态方法需要记住两点:在静态方法中不能访问类的 非静态成员变量和 非静态成员方法。

    非静态成员方法中是可以访问 静态成员方法/变量的

    粘下代码大家体会一下:

    public class TestStaticFunction {

    private static String name="lilong";

    private int age= 10;

    public void ShowName(){

    System.out.println(name);

    System.out.println("调用静态方法");

    Show();

    }

    public static void Show(){

    System.out.println("我是静态方法");

    // System.out.println(age); # 报错了 ,静态方法中访问非静态变量 }

    public static void main(String[] args){

    TestStaticFunction t = new TestStaticFunction();

    t.ShowName();

    t.Show();

    }

    /*输出结果:lilong调用静态方法我是静态方法我是静态方法*/

    }

    static 修饰代码块

    static 可以形成静态代码块以优化程序性能。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。static 代码块的特性:只会在类加载的时候执行一次。代码如下:

    public class TestStaticKuai {

    static {

    System.out.println("我是static 代码块");

    System.out.println("只会执行一次在类加载的时候");

    }

    public static void main(String[] args){

    TestStaticKuai t = new TestStaticKuai();

    TestStaticKuai t1 = new TestStaticKuai();

    TestStaticKuai t2 = new TestStaticKuai();

    TestStaticKuai t3 = new TestStaticKuai();

    }

    /*我是static 代码块只会执行一次在类加载的时候*/

    }

    关于 static 关键字的介绍就到这里,希望大家可以理解。

    下一篇文章我们将讲解如何使用 static 关键字 实现单例模式。

    谢谢

    展开全文
  • JAVA static关键字

    2019-09-17 23:07:32
    JAVA static 关键字可以修饰变量、方法、代码块,具有不同的作用。 二、知识点 2.1 static修饰代码块 1、静态初始化是在类加载的时候执行的(有且仅有一次),静态初始化包括静态变量初始化和静态块初始化。访问...
  • Java static关键字

    2015-11-26 10:59:57
    本文将讨论Java static关键字的使用。它可以被用于类名、变量、方法和块。 静态类 只有当一个类为嵌套类时才能使用static,这个嵌套类可以不使用外部类的对象就可以访问。例子: public class TestMain { static ...
  • java static 关键字

    2021-01-27 22:19:18
    static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。 静态成员变量: 位于“方法区”,无论多少个对象...
  • Java static关键字详解

    万次阅读 多人点赞 2018-08-07 17:30:21
    static关键字 在类中,用static声明的成员变量为静态成员变量,也成为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。 这里要强调一下: static修饰的成员变量和方法,从属于类 普通变量和...
  • 主要介绍了JAVA Static关键字的用法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
  • Java Static关键字

    2015-12-21 16:07:34
    Java中的Static关键字与C/C++中的Static关键字作用不通。Java中其仅生存周期,初始化次数有影响,对变量或方法的作用域没影响,其作用域仅能通过public,private,protected来访问,而C/C++中对变量或方法的作用域有...
  • static关键字» static关键字可以修饰属性■ 称为静态属性也叫做类的变量■ 在方法区(共享区)中存储,并且所有对象都可以访问■ 与类同生死,也就是说类存在时static修饰的属性就存在■ 可以使用类名.属性名称,也...
  • Java static关键字解析

    2020-12-22 04:28:16
    Java static关键字解析静态内部类(默认指外部类的内部类)静态方法静态变量静态语句块 范围:只围绕外部类进行讨论,例如内部类的内部类这种多层套娃式的暂不进行讨论 jdk版本: jdk8 静态内部类(默认指外部类的...
  • javastatic关键字的作用:1、java中可以通过statin关键字修饰变量达到全局变量的效果;2、static修饰的方法属于类方法,不需要创建对象就可以调用;3、static代码块常用于初始化静态变量。本文操作环境:windows10...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,160
精华内容 8,064
关键字:

javastatic关键字

java 订阅