首页 > 编程语言 >Java基础 -- 我是这么理解static关键字的(文末配讲解视频)

Java基础 -- 我是这么理解static关键字的(文末配讲解视频)

时间:2022-10-31 13:07:15浏览次数:65  
标签:Java 变量 -- 文末 println static pay 修饰 方法


static是java里面的关键字,主要用来修饰属性和方法。打上static标记后,就是静态的,不需要new就可以访问。

导航

  • ​​假如一个方法没有用到this?​​
  • ​​static的意义​​
  • ​​static 修饰成员变量​​

假如一个方法没有用到this?

首先,我们写一个付钱方法。

void pay(){
System.out.println(" paying...");
}

我们发现一个事情,就是这个方法里面没有调用任何属性,也没有出现this。

那么请问,上一节我们说this的意义是什么?

this的意义是,当我们在执行某个方法的时候,能够获取到那个对象的特殊数据。

那么,既然这个pay方法压根就不需要当前对象的数据,我们为什么还要传入this呢?注意,这个this是JVM帮你传的,你想不传都不行。

static的意义

像这种没有用到当前对象任何数据的方法,我们是不是希望直接就用,而不是非得先new一个对象再用?
嗯,肯定的,直接用就行了,反正不需要this,大家都觉得这样很有道理吧。那么既然如此,我们就可以给这种方法加一个static关键字。

static void pay(){
System.out.println(" paying...");
}

被static修饰的方法,不需要实例对象就可以访问,可以直接用 类名.方法名 的形式去调用。

Customer.pay();

static 修饰成员变量

static还可以修饰成员变量,被static修饰的成员变量在类被加载的时候,是提前分配内存空间的,有点像“关系户”。哪怕这个类一个对象都没有new,它也是真实存在的。比如,我们给类添加一个版本号,默认是1.0,就这样写:

static String version = "1.0";

调用也是一样,直接用类名就可以了:

System.out.println(Customer.version);

被static修饰的成员变量,叫做静态属性,也叫做类属性,因为只和类相关嘛。

视频讲解:​​https://www.bilibili.com/video/BV1m44y1t7Tf/​


标签:Java,变量,--,文末,println,static,pay,修饰,方法
From: https://blog.51cto.com/u_10957019/5809187

相关文章

  • java项目如何引入其他jar包?
    导航​​步骤1lib目录​​​​步骤2修改编译脚本​​​​步骤3编译cstmgr项目​​​​步骤4新的运行方式​​​​步骤5不妨把编译和打包放一起​​​​步骤6总......
  • 常用Cron表达式整理
    每天凌晨2点002**?和每天隔一小时0**/1**?例1:每隔5秒执行一次:*/5****?例2:每隔5分执行一次:0*/5***?在26分、29分、33分执行一次:026,29,33***?例3......
  • centos7通过端口号杀死进程脚本
    #!/bin/sh#Killservicesofportnumber#检查用户是否输入端口号port=$1if[[$port==""]]thenecho"Pleaseinputportnumber!"exit8fi#查看当前端口是否有......
  • 力扣HOT100算法题5:最长回文字串
    文章目录​​一、题目​​​​二、方法一:解题思路​​​​三、方法一:代码解析​​​​四、方法二:动态规划​​​​五、方法二:代码解析​​一、题目给你一个字符串s,找到s......
  • Python学习一:基本内容
    文章目录​​一、Python规范​​​​二、Python基本规范​​​​2.1注释​​​​1单行注释​​​​2多行注释​​​​2.2变量​​​​1定义变量名​​​​2输出变量名......
  • Python学习二:字符串
    文章目录​​一、字符串编码转换​​​​1.1使用encode()方法编码​​​​1.2使用encode()方法解码​​​​二、字符串常规操作​​​​2.1拼接字符串​​​​2.2计算字......
  • idea将所有的代码放在一个txt文件里面-java代码
    最近在申请软件著作权要求把所有的代码放在一个txt文件里一个类一个类复制我觉得太傻了,用java写了一个小程序,记录一下packagecom.ynk;importjava.io.*;importjava.util.......
  • 机器学习1:基础部分:人工智能数学基础第1讲:行列式(一)
    文章目录​​学习目标:线性代数一:行列式​​​​学习内容:​​​​1.二阶与三阶行列式​​​​二阶行列式的计算-对角线法则​​​​举例​​​​三阶行列式的计算-对角线法则......
  • Python学习八:数据库编程接口
    文章目录​​一、数据库编程接口​​​​1.1连接对象​​​​1.1.1获取连接对象​​​​1.1.2连接对象的方法​​​​2.1游标对象​​一、数据库编程接口1.1连接对象1.......
  • Python学习七:异常处理及调试程序
    文章目录​​一、异常概述​​​​二、异常处理语句​​​​2.1try...except​​​​2.2try...except...else​​​​2.3try...except...finally​​​​2.4......