JAVASE基础_03.面向对象编程--static关键字

  • 在类中,用static声明的成员变量为静态成员变量,他为该类的共有变量,在第一使用时被初始化,对于该类的所有对象来说,static成员变量只有一份
  • 用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可以访问非static的成员

静态方法不再是针对于某个对象调用,所以不能访问非静态成员

  • 可以通过类名、对象引用两种方式访问静态成员

 

静态成员变量 也叫 静态属性

  1. 类加载时 就分配了内存 并分配到了方法区 静态属性与堆栈无关
  2. 在方法区,只存储一份内存 所有的类对象公用该段内存
  3. 因为与对象并没有直接关系 可以通过类名.属性名的方式访问 也可以通过对象.属性名 的方式访问,一般推荐用类名访问
  4. 因为所有对象共用一段数据内存 所以只要修改其中的值,则所有对象中对应的值都被修改
  5. 使用静态属性 可以节省内存 减少相同值的属性重复
  6. 静态属性推荐 静态数据 访问 不推荐动态数据访问

类加载:

当一个java程序要启动时,会先读取代码段中的java类代码到内存中,如果该代码段中存在静态属性或方法,则将静态属性和方法读取到内存中 保存数据到内存中方法区(方法区存放静态属性、方法、字符串常量)

静态数据&动态数据

  • 静态数据:在编译时就能判断的数据 例如:类
  • 动态数据:在运行时才能判断的数据 例如:new出来的对象 

 

静态方法

  • 可以访问静态属性和静态方法
  • 不可以访问非静态属性和非静态方法和this
  • 普通的方法可以访问静态方法

 

静态代码块

static代码块会在类加载时运行

静态代码段不可以执行非静态方法,可以执行静态方法

只执行一次,大部分用于初始化静态属性

 

类加载:

  1. 代码会保存在代码区;
  2. 当需要执行时,会先加载代码区代码;
  3. 会在方法区生成方法和静态属性;
  4. 执行静态代码段,为静态属性赋值
  5. 只执行一次

 

静态数据只能访问静态属性&静态方法,绝对不能访问动态属性&动态方法; 动态数据既能访问静态属性&静态方法,也能访问动态属性&动态方法

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值