场景一:静态变量

package oop.demo07;

public class Student {

    private static int age;//静态的变量  一般多线程用的比较多
private double score;//非静态变量 public static void main(String[] args) {
Student s1 = new Student(); System.out.println(Student.age); //static静态变量,可以通过类直接调用
System.out.println(s1.age);
System.out.println(s1.score);
}
}

场景二:静态方法

package oop.demo07;

public class Student {

    public void run(){
System.out.println("Run");
go(); //可以直接调用静态方法
} public static void go(){
System.out.println("go");
} public static void main(String[] args) {
Student.go(); //静态方法可以通过类直接调用
go(); //同时静态方法还支持直接调用
new Student().run();//非静态方法,需要先new进行实例,才能调用
}
}

Static修饰的含义隶属于类,而不是对象,是一个公共的存储内存的空间

场景三:代码块

package oop.demo07;

public class Student {
/*
{
//代码块(匿名代码块)
创建对象的时候就创建了匿名代码块,而且在构造器之前 } static {
//静态代码块
常用于加载一些初始化的数据
类一加载就执行,永久只执行一次
}
*/ //第二个执行
{
System.out.println("匿名代码块");
} //第一个执行
static {
System.out.println("静态代码块");
} //第三个执行
public Student() {
System.out.println("构造器(构造方法)");
} public static void main(String[] args) {
Student student = new Student();
}
}

Static代码块只执行一次,匿名代码块和构造器new一次,执行一次

场景四:静态导入包

常规

package oop.demo07;

public class Student {
public static void main(String[] args) {
System.out.println(Math.random());
System.out.println(Math.PI);
}
}

静态导入包,调用方法更简洁

package oop.demo07;

//静态导入包
import static java.lang.Math.random;
import static java.lang.Math.PI;
public class Student {
public static void main(String[] args) {
System.out.println(random());
System.out.println(PI);
}
}

Java面向对象系列(12)- Static关键字讲解的更多相关文章

  1. Java 集合系列 12 TreeMap

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  2. java io系列12之 BufferedInputStream(缓冲输入流)的认知、源码和示例

    本章内容包括3个部分:BufferedInputStream介绍,BufferedInputStream源码,以及BufferedInputStream使用示例. 转载请注明出处:http://www ...

  3. 面向对象编程(七)——Static关键字

    Static变量

  4. “全栈2019”Java第四十一章:static关键字

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  5. 2017.10.23 Java 面向对象深入学习---final 关键字、static关键字、匿名对象等

    今日内容介绍 1.final 关键字 2.static 关键字 3.匿名对象 4.内部类 5.包的声明与访问 6.访问修饰符 7.代码块 第一节课 01(面向对象)final关键字概念.avi 02: ...

  6. Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例

    概要 这一章,我们对TreeMap进行学习.我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap.内容包括:第1部分 TreeMap介绍第2部分 TreeMa ...

  7. Java:final、static关键字 详解+两者结合使用

    一  final关键字 1) 关于final的重要知识点 final关键字可以用于成员变量.本地变量.方法以及类. final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误. ...

  8. 【转】Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例

    概要 这一章,我们对TreeMap进行学习.我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap.内容包括:第1部分 TreeMap介绍第2部分 TreeMa ...

  9. Java继承和多态-Static关键字

    1. 什么是Static 关键字? Static 能够与变量,方法和类一起使用,称为静态变量,静态方法.如果在一个类中使用static修饰变量或者方法的话,它们可以直接通过类访问,不需要创建一个类的对 ...

  10. 菜鸡的Java笔记 第十七 static 关键字

    static 是java中定义的一个关键字,主要是描述全局的概念,所以利用static关键字可以定义属性,定义方法        但是在90%的情况下,我们的开发代码很少会去直接编写static*// ...

随机推荐

  1. STM32—驱动BT-06蓝牙模块传输数据

    文章目录 BT-06简介 数据透传 配置串口 USART1初始化函数 USART2初始化函数 USART2的NVIC配置 USART1串口重映射 BT-06简介 BT06蓝牙模块是专为智能无线数据传输 ...

  2. 题解 a

    传送门 和入阵曲那题很像 这里 \(n\) 很小,可以直接 \(n^2\) 压成一维考虑 然后就是对每个 \(j\) 查询 \([j-r, j-l]\) 中数的个数 这里我是用树状数组求的,带个log ...

  3. Java社区——个人项目开发笔记(二)

    1.B\S架构通信原理 浏览器,服务器之间产生通信,浏览器访问服务器,服务器返回一个HTML,浏览器会对HTML进行解析,并渲染相关的内容. 在解析过程中,会发现HTML里引用了css文件,js文件, ...

  4. java集成网站微信,微博,qq登录

    微信 WechatConfig.java package com.meeno.chemical.common.sdk.wechat.config; import org.springframework ...

  5. Visual Studio 2019 使用C语言创建动态链接库(Dll)并使用C语言和C#实现调用

    参考网址:https://blog.csdn.net/weixin_34976988/article/details/99625533 一.创建DLL1.建立动态链接库项目 2.创建头文件和源文件 删 ...

  6. C# 插件编写

    //加载插件 private void LoadPlugins() { string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExe ...

  7. IIS 站点一键导入 导出

    C:\Windows\System32\inetsrv\appcmd list site /config /xml > c:\sites.xml C:\Windows\System32\inet ...

  8. springboot项目中进行XSS过滤

    简单介绍 XSS : 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意 ...

  9. Mysql---C#在cmd中使用mysqldump导出sql文件

    一.概述 本文描述了在C#中利用mysqldump工具导出sql文件. 二.代码片段 CmdHelper类代码如下: public class CmdHelper { public static st ...

  10. forEachRemaining

    ArrayList<Integer> arrayList=new ArrayList<>(); for (int i = 0; i <10; i++) { arrayLi ...