java 面向对象(二)

static 修饰符

static 介绍

在我们日常生活中,有些事物不属于某一个对象,而是属于整个事物的类型。

比如:全世界人口总数、人的毁灭行为 应该属于人类,不应该属于某一个人。

状态和行为应该有 对象 之分:

  • 有的状态和行为,应该属于某个对象;
  • 有的状态和行为,应该属于类型;

通过Static修饰符就能解决这个问题,它修饰的成员就不属于对象,它属于类本身。

它可以修饰字段、方法、内部类。

static 作用

确定修饰的内容是属于类还是属于对象。

static 特点

1、static修饰的内容,是随着类的加载而加载的。

当JVM把class字节码加载到虚拟机当中时,static他修饰的成员会自动的加载到内存当中。(方法区)

2、static修饰的内容,优先于对象的存在。

对象是需要我们手动new出来的,static加载字节码时已经自动加载到JVM了。

3、static修饰的内容,被该类型的所有对象所共享

根据该类创建出来的对象,都可以访问static成员,表面上是通过对象访问,其本质依然是使用类名访问,和对象没有任何关系。

4、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 方法才是属性,没有就是字段。

一般属性都是私有的,公有的别人可以直接获取和设置值。

posted @ 2019-07-08 22:10  Lomen~  阅读(573)  评论(0编辑  收藏  举报