首页 > 编程语言 >java static

java static

时间:2022-09-24 15:48:17浏览次数:64  
标签:java 变量 静态 代码 static Student 静态方法

1.static关键字的目的:

      主要用于内存管理

2.static关键字的范围:   

      1)使用范围:java static关键字可以用在变量、方法、代码块和嵌套类伤。

      2)作用范围:static关键字属于类,而不是类的实例。

3.静态(static)修饰如下:     

            1)变量:称为类变量、静态变量 

      2)方法:称为类方法、静态方法

      3)代码块:称为静态代码块

      4)嵌套类:称为静态内部类

4.static

  • 特点:

      1)随着类的加载而加载

      2)优先于对象存在

      3)被类的所有对象共享

      4)可以通过类名调用

  • 注意事项:

      1)在静态方法中不可以使用this关键字 

      2)静态方法只能访问静态的成员变量和静态的成员方法。

静态变量和成员变量的区别:

  • 所属不同

       1)静态变量属于类,所以也称为类变量

       2)成员变量属于对象,所以也称为实例变量(对象变量)

  • 内存中位置不同

       1)静态变量存储于方法区的静态区

       2)成员变量存储于堆内存

  • 内存出现时间不同

       1)静态变量随着类的加载而加载,随着类的消失而消失

       2)成员变量随着对象的创建而存在,随着对象的消失而消失

  • 调用不同

       1)静态变量可以通过类名调用,也可以通过对象调用

       2)成员变量只能通过对象名调用

 

5.静态方法

      静态方法(或称为类方法),指被 static 修饰的成员方法。

6.静态方法与静态变量好处:

      属于类级别,无需创建对象就即可直接使用,使用方便。

      全局唯一,内存中唯一,静态变量可以唯一标识某些状态。

      类加载时候初始化,常驻在内存,调用快捷方便。

7.静态方法与静态变量缺点:

      静态方法不能调用非静态的方法和变量。

      不能使用this和super关键字。

8.代码块 :

    定义 :

      在Java中,使用{}括起来的代码被称为代码块,根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块。

  • 局部代码块

      在方法中出现;限定变量生命周期,及早释放,提高内存利用率

  • 构造代码块

      在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行

  • 静态代码块: 在类中方法外出现,加了static修饰

      在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次。

public class Student { 
static { 
         System.out.println("Student 静态代码块");
     }
  { 
         System.out.println("Student 代码块"); 
     } 
public Student() {
         System.out.println("Student 构造方法"); 
     }
     }
public class StudentTest { 
   static { 
         System.out.println("aaaa"); 
     } 
public static void main(String[] args) {
         System.out.println("我是main方法");
         Student s1 = new Student();
         Student s2 = new Student();
      }
   }

执行顺序:静态代码块>构造代码块>构造方法

标签:java,变量,静态,代码,static,Student,静态方法
From: https://www.cnblogs.com/gwq-426/p/16725734.html

相关文章

  • JavaScript 的闭包(closure)
    以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/对于闭包的理解,其实可以归纳为,在创建函数时,同时创建了一个集......
  • Java 静态字段和静态方法
    在一个class中定义的字段,我们称之为实例字段。实例字段的特点是,每个实例都有独立的字段,各个实例的同名字段互不影响。还有一种字段,是用static修饰的字段,称为静态字段:stati......
  • Java 包(package) (不重要)
    为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。包的作用1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。2、如同文件夹一样,包也......
  • Java源码解析库对比:javaparser、qdox、spoon
    Qdox:paul-hammant/qdoxJavaParser:javaparser/javaparserSPOON:INRIA/spoonQdoxJavaParserSPOONGitHub社区1.3kUsers8Contributors328stars⭐45forks3.3......
  • java第一课
    重新开始学习javajava编程的基本格式publicclassMain{  publicstaticvoidmain(String[]args){    /**    *@Description:Helloworld ......
  • Java基础(标识符,数据类型,数据转换,变量)
    注释Java中的注释有3种:单行注释 //多行注释/**/文档注释/***/注释不会被执行,是给我们写代码的人看的书写注释是一个非常好的习惯标识符Java所有的组成部......
  • java初步学习 获取随机数(基于黑马的课进行自学,初学者,不喜勿喷)
    初步学习补充内容获取随机数步骤与键盘录入相似第一步:导包所写代码与键盘录入相似导包的代码为“importjava.util.Random;”,且必须在类变量上第二步:创建对象这一......
  • JavaScript Window - 浏览器对象模型(BOM)
     浏览器对象模型(BOM):现代浏览器已经实现了JavaScript交互性的相同方法和属性,所以常被认为是BOM的方法和属性Window对象:所有浏览器都支持window对象,表示浏览器的窗......
  • JavaScript Window Screen
    window.screen对象包含有关用户屏幕的信息。WindowScreen可用宽度:screen.availWidth属性返回访问者屏幕的宽度,以像素计,减去界面特性,比如窗口任务栏。 WindowScr......
  • JavaScript Boolean(布尔) 对象
    Boolean对象:用于转换一个不是Boolean类型的值转换为Boolean类型值(true或者false).Boolean对象属性:constructor:返回对创建此对象的Boolean函数的引用prototype......