场景一:静态变量

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. 区块链-NFT 的实现原理

    作者:林冠宏 / 指尖下的幽灵.转载者,请: 务必标明出处. 博客:http://www.cnblogs.com/linguanh/ 掘金:https://juejin.im/user/1785262 ...

  2. DVWA(四):Command Injection 全等级命令注入

    Command Injection : 命令注入(Command Injection),对一些函数的参数没有做好过滤而导致用户可以控制输入的参数,使其恶意执行系统命令或这cmd.bash指令的一种注入 ...

  3. Redis应用场景及缓存问题

    1.应用场景 (1)   缓存 缓存机制几乎在所有的大型网站都有使用,合理地使用缓存不仅可以加快数据的访问速度,而且能够有效地降低后端数据源的压力.Redis 提供了键值过期时间设置,并且也提供了灵活 ...

  4. 【springcloud】Zuul 超时、重试、并发参数设置

    转自:https://blog.csdn.net/xx326664162/article/details/83625104 一. Zuul 服务网关 服务网关 = 路由转发 + 过滤器 1.路由转发: ...

  5. Java 并发:Lock 框架详解

    摘要: 我们已经知道,synchronized 是java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchronized 粒度有些大,在处理实际问题时存在诸多 ...

  6. Kafka源码篇 --- 小白也能看懂的Producer的初始化及元数据获取流程

    最近在研究kafka的源码,发现有些小伙伴的源码写的很不错,就想转载一下,让更多的人知道和学习一下. https://blog.csdn.net/weixin_43167418/article/det ...

  7. mycat<三>

    server.xml文件 <?xml version="1.0" encoding="UTF-8"?> <!-- - - Licensed u ...

  8. Java基础和常用框架的面试题

    前言 最近学校也催着找工作了,于是刷了一些面试题,学习了几篇大佬优秀的博客,总结了一些自认为重要的知识点:听不少职场前辈说,对于应届毕业生,面试时只要能说到核心重要的点,围绕这个点说一些自己的看法,面 ...

  9. Matlab实现BP神经网络预测(附实例数据及代码)

    BP神经网络介绍 神经网络是机器学习中一种常见的数学模型,通过构建类似于大脑神经突触联接的结构,来进行信息处理.在应用神经网络的过程中,处理信息的单元一般分为三类:输入单元.输出单元和隐含单元. 顾名 ...

  10. GO的GC辣鸡回收(一)

    用户程序通过内存分配器(Allocator)在堆上申请内存,而垃圾收集器(Collector)负责回收堆上的内存空间,内存分配器和垃圾收集器共同管理程序中的堆内存空间. 基本概念 垃圾分类 语义垃圾: ...