static 修饰符
static 介绍
在咱们平常生活中,有些事物不属于某一个对象,而是属于整个事物的类型。java
好比:全世界人口总数、人的毁灭行为 应该属于人类,不该该属于某一我的。spa
状态和行为应该有 对象 和 类 之分:code
- 有的状态和行为,应该属于某个对象;
- 有的状态和行为,应该属于类型;
经过Static修饰符就能解决这个问题,它修饰的成员就不属于对象,它属于类自己。对象
它能够修饰字段、方法、内部类。blog
static 做用
肯定修饰的内容是属于类仍是属于对象。接口
static 特色
一、static修饰的内容,是随着类的加载而加载的。生命周期
当JVM把class字节码加载到虚拟机当中时,static他修饰的成员会自动的加载到内存当中。(方法区)内存
二、static修饰的内容,优先于对象的存在。作用域
对象是须要咱们手动new出来的,static加载字节码时已经自动加载到JVM了。开发
三、static修饰的内容,被该类型的全部对象所共享
根据该类建立出来的对象,均可以访问static成员,表面上是经过对象访问,其本质依然是使用类名访问,和对象没有任何关系。
四、static修饰的内容,能够直接使用类名来调用。
由于static修饰的成员属于类,不属于对象。
变量划分
变量
数据类型 变量名 = 值;
1. 成员变量
直接定义在类中的变量
(1)类成员变量:在成员变量前加static,就是类成员变量 (2)实例成员变量: 没加static就是实例成员变量
类成员和实例成员的访问:
- 在static方法中只能调用static成员
- 非static方法,能够访问静态成员,也能够访问非静态成员
注意:在方法当中不能定义static变量
成员变量是有初始值的;不给初始值, 会有默认,能够直接使用。
2. 局部变量
定义在方法或代码块当中的变量(包括参数列表,和内部定的变量)
必须得要初始化以后才能使用
变量的做用域和生命周期
包
什么是包
在开发中,咱们存在几百上千个Java文件,若是全部的Java文件都在一个目录中,管理起来也很痛苦,Java能够建立一个相似文件夹的东西,咱们称这个文件夹为包。
包的做用
(1)把功能类似或相关的类或接口组织在同一个包中,方便类的查找和使用。
(2)如同文件夹同样,包也采用了树形目录的存储方式,同一个包中的类的名字是不一样的,不一样的包中的类的名字是能够相同的,但同时调用两个不一样包中相同类名的类时,应该加上包名加以区别。所以,包能够避免名字冲突。
(3)包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
包的语法
package 包名.子包名.子子包名;
必须把该语句做为Java文件中的第一行代码。
包名定义
(1)包名必须遵循标识符规范,所有小写。
(2)企业开发中,包名用公司域名倒写
使用格式: package 域名倒写.模块名.组件名;
类的名称
类的简单名称:直接类名
类的全限定名称:包名.类名
import 语句
当 A 类和 B 类不在同一个包中,若 A 类须要使用到 B 类,此时就得让 A 类去引入 B 类。
属性
属性和字段相似,也是一个成员变量。可是必需要有 getter/setter 方法。
有 getter/setter 方法才是属性,没有就是字段。
通常属性都是私有的,公有的别人能够直接获取和设置值。