关键字static(静态的)

在Java类中声明变量、方法内部类时,可使用关键字static做为修饰符。

static标记的变量或方法由整个类(所有实例)共享,如访问控制权限允许,可不必创建该类对象而直接用类名加‘.’调用

static成员也称类成员或静态成员,如:类变量、类方法、静态方法等

总结:

1.若需要一个类的多个对象共享一个变量,则该变量需要使用static 修饰

2.因为static 修饰的变量为类的所有实例所共享,所以 static 成员不属于某个类的实例,而属于整个类,所以在访问权限允许的情况下,可以使用“类名.”直接访问静态成员。

3.注意:在static方法内部只能访问类的static属性,不能访问类的非static属性。而在非static方法中可以直接来访问类的static属性

4.因为不需要实例就可以访问static方法,因此static方法内部不能有this,(也不能有super )

5.静态初始化指 对类的静态属性进行初始化。

5.1 不应该在构造器中对静态成员进行初始化:因为静态成员不因类的实例而改变

5.2静态代码块:使用 static 修饰的代码块,在类被加载时执行一次,且执行一次,可以在静态代码块中对静态成员变量进行初始化,先于非静态代码块和构造器执行

5.3 非静态代码块:先于构造器执行,每创建一个对象都会执行一次

静态初始化

1、一个类中可以使用不包含在任何方法体中的静态代码块(static block ),当类被载入时,静态代码块被执行,且只被执行一次,静态块经常用来进行类属性的初始化。

2、static块通常用于初始化static (类)属性

class Person {

publicstatic int total;

static{

              total = 100;//为total赋初值

      }

……//其它属性或方法声明

}

 

类方法(classMethod)

1.在静态方法里只能直接调用同类中其它的静态成员(包括变量和方法),而不能直接访问类中的非静态成员。这是因为,对于非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法在使用前不用创建任何对象。

2.静态方法不能以任何方式引用this和super关键字。与上面的道理一样,因为静态方法在使用前不用创建任何实例对象,当静态方法被调用时,this所引用的对象根本就没有产生。

3.main() 方法是静态的,因此JVM在执行main方法时不创建main方法所在的类的实例对象,因而在main()方法中,我们不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员,这种情况,我们在以后的例子中会多次碰到

 

类属性、类方法的设计思想

1.类属性作为该类各个对象之间共享的变量。在设计类时,分析哪些类属性不因对象的不同而改变,将这些属性设置为类属性。相应的方法设置为类方法。

2. 如果方法与调用者无关,则这样的方法通常被声明为类方法,由于不需要创建对象就可以调用类方法,从而简化了方法的调用

自学Java系列 笔记2 高级类特性1相关推荐

  1. Java系列笔记(1) - Java 类加载与初始化

    2019独角兽企业重金招聘Python工程师标准>>> 目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如 ...

  2. Java系列笔记(4) - JVM监控与调优【转】

    Java系列笔记(4) - JVM监控与调优[转] 目录 参数设置 收集器搭配 启动内存分配 监控工具和方法 调优方法 调优实例       光说不练假把式,学习Java GC机制的目的是为了实用,也 ...

  3. Java系列笔记(3) - Java 内存区域和GC机制

    目录 Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器 Java垃圾回收概况 Java GC(Garbage Collection, ...

  4. 自学java基础笔记

    java基础教程 基础字符 public  公共的 class 类 static 静态的 void 无返回类型 main 主要的 String 字符串 args 参数 System 系统的 out 输 ...

  5. java学习笔记7--抽象类与抽象方法

    接着前面的学习: java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) jav ...

  6. 【Java 系列笔记】语法基础 + Spring + Spring MVC + SpringBoot + 数据结构

    Java 强化笔记目录 Java 语言基础 Java 架构师体系课程 一些课程 前端笔记:前端学习笔记 Java 语言基础 回头补基础(此基础非小白)系列,学校教的其实真的就是一些皮毛而已,怕是连门都 ...

  7. Java学习笔记Day06 工具类及常用算法

    第六章 工具类及常用算法 文章目录 第六章 工具类及常用算法 Java语言基础类 Java基础类库 Object类 概述 toString方法 方法摘要 覆盖重写 equals方法 方法摘要 默认地址 ...

  8. 自学java核心技术笔记(康师傅)

    java初级笔记 文章目录 java初级笔记 第一章 Java技术简介 一.Java的性质 面向对象 可移植性 动态性 二.关于对Java常见误解的解释 1.Java是HTML的拓展 2.Java是专 ...

  9. Java技术笔记1:类与对象实例之系统常用类

    待我君临天下,结发与蕊可好.@夏瑾墨 一直在反思最近的时间安排,知识没有总结和积累很容易发生遗忘,如果要让自己在短期内能有大的提升,那就需要每天的知识流输入,减去你生活中看起来也是重要的东西,然而性命 ...

最新文章

  1. RabbitMQ错误检查
  2. ICMP隧道工具ptunnel
  3. 网络推广是做什么的教你在网站优化中正确处理死链的技巧!
  4. 2013手机App发展趋势预测:遇冷和洗牌
  5. 网站加速和服务器加速区别,cdn加速与不加速区别
  6. ios7 苹果原生二维码扫描(和微信类似)
  7. fputc会覆盖吗_蔬菜覆盖地膜有什么好处?选择什么膜好?
  8. 云计算(1)---基础知识
  9. SpringMVC实现list表单(六)
  10. 无人驾驶路径规划(一)全局路径规划 - RRT算法原理及实现
  11. 默认主页被篡改为360导航如何解决!
  12. EmmyLua的安装与使用
  13. 常用媒体查询以及手机横竖屏监听
  14. Unity中制作图片字体
  15. ffmpeg(六)视频缩放及像素格式转换
  16. 外酥里嫩的锅包肉做法
  17. js:简单的盒子碰撞
  18. 电子琴节奏包制作_MIDI音乐制作基础必备
  19. 带exp在线计算机计算器使用,电脑系统自带科学计算器使用方法
  20. 浏览器被万恶的hao123锁定主页

热门文章

  1. 写乐100道练习题_写乐大型21K详细评测(文长慎入)
  2. java放大缩小_如何用Java实现图形的放大和缩小?
  3. 组装一台稳定的计算机
  4. 论坛社区项目——项目总结
  5. excel从右边查找字符并截取
  6. .then()方法的意思和用法
  7. 01 基础入门:概念名词
  8. 构成社群的五要素,你了解吗?
  9. 【100%通过率】华为OD机试真题 Python 实现【士兵过河】【2022.11 Q4 新题】
  10. Java 后端开发常用的第三方服务 TOP10