Java面向对象系列(12)- Static关键字讲解
场景一:静态变量
- 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关键字讲解的更多相关文章
- Java 集合系列 12 TreeMap
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- java io系列12之 BufferedInputStream(缓冲输入流)的认知、源码和示例
本章内容包括3个部分:BufferedInputStream介绍,BufferedInputStream源码,以及BufferedInputStream使用示例. 转载请注明出处:http://www ...
- 面向对象编程(七)——Static关键字
Static变量
- “全栈2019”Java第四十一章:static关键字
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 2017.10.23 Java 面向对象深入学习---final 关键字、static关键字、匿名对象等
今日内容介绍 1.final 关键字 2.static 关键字 3.匿名对象 4.内部类 5.包的声明与访问 6.访问修饰符 7.代码块 第一节课 01(面向对象)final关键字概念.avi 02: ...
- Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例
概要 这一章,我们对TreeMap进行学习.我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap.内容包括:第1部分 TreeMap介绍第2部分 TreeMa ...
- Java:final、static关键字 详解+两者结合使用
一 final关键字 1) 关于final的重要知识点 final关键字可以用于成员变量.本地变量.方法以及类. final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误. ...
- 【转】Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例
概要 这一章,我们对TreeMap进行学习.我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap.内容包括:第1部分 TreeMap介绍第2部分 TreeMa ...
- Java继承和多态-Static关键字
1. 什么是Static 关键字? Static 能够与变量,方法和类一起使用,称为静态变量,静态方法.如果在一个类中使用static修饰变量或者方法的话,它们可以直接通过类访问,不需要创建一个类的对 ...
- 菜鸡的Java笔记 第十七 static 关键字
static 是java中定义的一个关键字,主要是描述全局的概念,所以利用static关键字可以定义属性,定义方法 但是在90%的情况下,我们的开发代码很少会去直接编写static*// ...
随机推荐
- Shellshock 破壳漏洞 Writeup
破壳漏洞 CVE编号:CVE-2014-6271 题目URL:http://www.whalwl.site:8029/ 提示:flag在服务器根目录 ShellShock (CVE-2014-6271 ...
- 流动的观察者模式 | Flutter 设计模式
观察者模式,又称发布订阅模式,是一种行为设计模式--你可以定义一种订阅机制,可在对象事件发生时通知多个 观察 该对象的其他对象. 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主 ...
- Pikachu-File Inclusion模块
一.概述 文件包含,是一个功能.在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件. 比如 在PHP中,提供了:include(),inclu ...
- 题解 P4111 [HEOI2015]小 Z 的房间
题解 题目大意:给定一个无向图,求它的生成树个数. 一道裸的矩阵树定理,外加一些建图的技巧. 矩阵树定理 对于一个 \(Laplace\) 矩阵,其去掉任意一行后的行列式即为答案. 行列式不会的看这里 ...
- 从自旋锁、睡眠锁、读写锁到 Linux RCU 机制讲解
同步自我的 csdn 博客 6.S081 从自旋锁.睡眠锁.读写锁到 Linux RCU 机制讲解_我说我谁呢 --CSDN博客 总结一下 O/S 课程里面和锁相关的内容. 本文是 6.S0 ...
- mysql 数据库 分表后 怎么进行分页查询?Mysql分库分表方案?
Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. m ...
- spring boot 2.0.0 + shiro + redis实现前后端分离的项目
简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码学和会话管理.使用Shiro的易于理解的API,您可以快速.轻松地获得任何应用程序,从最小的移动应用程序到最大 ...
- mzy git学习,禁用Fast forward的普通合并(六)
git merge --no-ff -m "msg" x-branch:禁用Fast forward的普通合并 通常,合并分支时,如果可能,Git会用Fast forward模式, ...
- 使用元数据设计的update、query封装
package util; import java.lang.reflect.InvocationTargetException; import java.sql.Connection; import ...
- ES6扩展——箭头函数
1.箭头函数 在es6中,单一参数的单行箭头函数语法结构可以总结如下: const 函数名 = 传入的参数 => 函数返回的内容,因此针对于 const pop = arr => arr. ...