首页 > 编程语言 >Java中static作用

Java中static作用

时间:2023-10-09 17:34:17浏览次数:34  
标签:调用 Java 静态 对象 实例 static JVM 作用

Java中static作用

  • static修饰的对象,它先于任何的对象出现。在程序最开始启动(JVM初始化)的时候,就会为static方法分配一块内存空间,成为静态区,属于这个类。而非static方法,必须在类实例化的时候,才会给分配内存空间,在实例化对象的时候JVM在堆区分配一个具体的对象,this指针指向这个对象。也就是说,this指针是指向堆区中的类的对象,而static域不属于this指向的范围所在,所以不能用实例对象调用。

  • static 修饰变量

    static修饰的变量叫静态变量或类变量,静态变量只创建一次,JVM只为其分配一次内存空间,可以用类名直接访问。

    public class Test {
        public static void main(String[] args) {
            System.out.println(A.n);//可以直接用类名调用
    
        }
    }
    class A{
        static int n = 9;
    
    }
    
  • static 修饰方法

    1. 静态方法也可以直接使用类名调用,任何实例对象也可以调用,静态方法中不能用this和super关键字(静态方法是存放在内存中的数据段里,this和super调用的是堆空间里的应用对象不能调用数据段区域里的数据,因此静态方法中不能用this和super关键字),也不能直接访问所属类的实例变量和实例方法(静态的不能调用非静态的)
    2. static方法独立于任何实例,所以static方法必须被实现,而不能是抽象的方法(abstract)

    static 代码块

    static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。

标签:调用,Java,静态,对象,实例,static,JVM,作用
From: https://www.cnblogs.com/yinza181/p/17752266.html

相关文章

  • 牛客刷Java记录第6天
    第一题一个文件中的字符要写到另一个文件中,首先需要()。ASystem.out.print(buffer[i]);BFileOutputStreamfout=newFileOutputStream(this.filename);CFileInputStreamfin=newFileInputStream(this.filename);DSystem.in.read(buffer);关键词:首先文件A->内......
  • java 获取接口所有的实现类
    点击查看代码@RequestMapping("test1")publicStringgetCustImpl(){List<String>list=newArrayList<String>();Map<String,CustImplService>beansOfType=applicationContext.getBeansOfType(CustImplService.class);......
  • Java-基础重要主题
    1.类与对象Java是一种面向对象的编程语言,类与对象是Java程序的基本构建块。类是描述对象的模板,而对象是类的具体实例。以下是一个简单的Java类的示例:publicclassPerson{privateStringname;privateintage;//构造方法publicPerson(Stringname,i......
  • Java-流程控制
    Java流程控制是Java编程语言中非常重要的一个部分,它允许程序员根据程序执行的顺序来控制代码的执行流程。在Java中,流程控制主要包括条件语句、循环语句和选择语句等。一、条件语句条件语句用于根据条件的真假来执行不同的代码块。Java中主要有两种条件语句:if-else语句和switch语......
  • Java-JDK8的下载安装及环境变量配置
    JDK下载网址:JavaDownloads|Oracle(现在需要注册登陆后才可以下载JDK安装包)——有安装包最好!!!进入网址找到Java8==>选择windows视窗==>选择X64,(X64为64位系统,X86为32为系统)。一、下载JDK安装包。   1.双击打开安装包,选择“下一步”。2.选择要安装的目录和组......
  • java如何将char和String相互转换
    StringString可以理解成char[]组成的char转换成String将char转换成char[]再将char[]转换成Stringcharch='U';StringfromChar=newString(newchar[]{ch});String转换成char[]Stringstr="abc";char[]cc;cc=str.toCharArray();......
  • java nio
    JavaNIO(NewIO或NonBlockingIO)是从Java1.4版本开始引入的一个新的IOAPI,可以替代标准的JavaIOAPI。NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作阻塞IO通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有可供读取的数......
  • Java Hutool递归解压文件
    importcn.hutool.core.io.FileUtil;importcn.hutool.core.util.ZipUtil;importjava.io.File;importjava.nio.charset.Charset;publicclassRecursiveUnzip{finalstaticFiledestDir=newFile("D:\\python\\newProject\\excel");pub......
  • Java11配置maven
    这里假设Java11和maven都正确安装,使用的版本为Java11、maven3.6.1测试环境变量Javawin+r打开运行,输入cmd,打开命令行提示符,输入java--version如下C:\Users\siyu>java--versionopenjdk11.0.22019-01-15OpenJDKRuntimeEnvironment18.9(build11.0.2+9)OpenJDK64-......
  • 数据重整:用Java实现精准Excel数据排序的实用策略
    摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言在数据处理或者数据分析的场景中,需要对已有的数据进行排序,在Excel中可以通过排序功能进行整理数据。而在Java中,则可以借助Excel表格插件对数......