- 匿名对象及对象的生命周期
- 什么是匿名对象
- )匿名对象,就是没有名字的对象[创建了一个对象而没有使用变量接收]
- )该对象存在于堆总处于游离状态:没有任何变量持有引用地址,指向他
- )但是匿名对象本质也是一个对象
- 匿名对象使用场景
- 一个对象就是一个数据
- 既然是一个数据可以当成参数传递
- 对象的生命周期(了解)
1)开始 : new Student() ,new的时候就开始了;
2)结束
-
- 说法1:常见的说法 :当对象失去所有的引用(没有变量再指向它了(没有变量在存储它的地址)- 相当于失联了,我们无法再使用它了)-- 就是死亡了;
3)结束
-
- 说法2 :对象真正的被销毁(对象会在堆里面占用内存,当把对象的内存空间回收了)
- Java有自动垃圾回收机制;
- static关键字
- static可以修饰的内容
1)可以修饰普通方法
2)可以修饰字段[ 成员字段 ]
3)可以修饰内部类[暂时不了解]
4)不可以修饰外部类
5)不可以修饰局部变量;
6)不可以构造方法
- 修饰字段
1)有static修饰的字段应该是字段所在类 类名.字段名 进行访问
2)没有static 修饰的字段: 字段所在的类的对象:对象名.字段名 进行访问
3)加了static修饰的字段:该字段被该类所有对象共享:当一个对象修改了该字段,其他对象使用该字段,都是修改之后的值
- 修饰方法
1)有static修饰的方法: 方法所在的 类名.方法名(...);
2)没有static修饰的方法 : 方法所在的类的对象名.方法名(...);
3)使用static修饰的方法调用方便
4)工具都是static修饰的
- static类级别和对象级别
- static类级别的修饰符理解
- static修饰的字段:应该通过类名.字段名访问
- static修饰的字段:应该通过类名.方法,该字段被该类的所有对象共享
- 对象级别
- 非static修饰的字段:对象名.字段名
- 非static修饰的字段及方法,当创建对象时候,独属于每一个对象,没有被该类的所有对象共享
- 包
- 什么是包
- Java包概念:包(package)是Java提供的一种区别类的名字空间的机制,是类的组织方式,是一组相关类和接口的集合,它提供了访问权限和命名的管理机制。
- 为了方便管理类:分别存入不同的包(文件夹)
- 包作用
- 可以管理代码结构
- 可以避免类名冲突的问题
3)包命名规范:一般是 公司域名 反过来写 + 项目名+模块名字+子模块名
例如 : itsource.cn 域名
语法 : package cn.itsource.erp.oa.domain;
4)包的必须在源文件的顶部最开始位置申明
同一个源文件中可以有多个类,编译生成的字节码文件都会在该包下面
5)类的完全限定名 : 包名.子包名.类名
- 包导入
- 在一个类中需要使用到其它的包中的类,可以先导入在便捷的使用
- 目的: 是为了正确的引用到指定的类型
- 注意: 导入包的代码应该在声明包的后面,声明类的前面
- 语法:
- import 包名.子包名.类名;
- import 包名.子包名.*;//*通配符,通配该类所在的子包名
- 通一个类中用到了java.util.Date java.sql.Date 导入会区别不了二异,所以通过完全限定名的方式使用
- java.lang这是Java规定的核心包,使用的时候会自动导入,所以不用手动导入
- 变量
1)局部变量的作用 : 一般都是方法中,为了辅助方法完成功能而临时定义的变量;
2)类变量 : 有static修饰的成员变量(字段);
3)实例变量: 没有static修饰的成员变量(字段);
- 封装
- 把对象的状态和行为看成一个统一的整体,将二者存放在一个独立的模块中(类)
- 信息隐藏:把不需要外界知道的信息隐藏起来,尽可能隐藏对象功能的实现细节。
- 把类中的字段私有化;
- 给每一个字段都提供一组getter setter方法 (方法的规范写法);setXxx
在测试类中尝试创建对象,并通过调用getter setter方法完成 对字段的赋值和取值;
- 提供一个无参数的构造方法
6.this
- this介绍
- this的概念:this指代当前对象,持有当前对象的地址
- 如何判断this指代的是哪个对象
- 官方:this所在的函数,正在被谁调用this就指代谁
民间 :this当前被对象持有,this就指代谁,模板---->复印件
3.this持有当前的对象地址 : this应该在类设计的时候使用
4.this不能写在静态的方法中 : 无法从静态上下文中引用非静态 变量 this
- this使用
- 解决局部变量和成员变量的二义性 --- get set 方法中的应用[在get/set可以写this]
- 作为返回值返回 : this持有对象地址,表示该类的一个对象即是一个数据
- 作为参数传递
本类中构造方法之间的相互调用