java 封装
前言
封装是通过修饰符限制访问权限,隐藏内部实现细节,仅暴露必要功能。包用于组织管理代码,不同包可包含同名类。static修饰的成员属于类而非对象,可通过类名直接访问。静态方法不能访问非静态成员,需实例化对象才能访问。代码块包括静态、实例和普通代码块,执行顺序为静态→实例→构造方法。静态成员初始化可通过就地初始化或静态代码块完成。封装结合限定符是实现信息隐藏的重要手段。
封装
理解什么是封装 怎么样封装 借助修饰符
所谓封装就是使用者不需要知道内部实现原理 只要只要它有什么功能 怎么使用它
而它的内部实现 是通过程序员自己通过修饰符 限制权限 以实现封装
限定符
限定符与封装相结合 是一种手段
限定符使用限定我们在类内外使用 不同子类之间

在使用限定符之前我们先理解包的概念
包
我们把包类比我们的文件夹 文件夹的作用是文件 区别不同文件的作用 而包 也是 管理代码 让不同的代码 实现对象的不同属性
包通常建在src里

注 在同一个工程内 不同包之间的类名可以相同
如何在另一个包内如何引入一个包?
imporet 包名.类名
导入静态 imporet static 包名.类名

static
概念
static可以修饰成员变量 成员方法 使非静态的变为静态 全局都可以使用
而静态的不依赖于对象 可以不通过对象 引用
特性
static修饰成员变量
我们访问成员变量有两种方式
1通过类名去访问
2通过对象引用去访问
但是我们在静态方法中推荐用类名去访问 我们在静态方法中想访问非静态的成员变量 或 成员方法 要通过关键字new 来实例化对象
而在非静态里可以直接访问静态的
静态的不属于对象 不依赖于对象

static修饰成员方法


static成员变量初始化
static初始化分为就地初始化和静态初始化
就地初始化
在定义的时候直接赋值

使用静态初始化
static{
变量名 =赋值;
}


代码块
代码块分为静态代码块 实例 构造 普通 同步代码块
普通代码块
{
java语句;
}

静态代码
初始化静态变量
static {
java语句;
}
不能进行实例化 不能通过实例访问
通过类名访问

实例代码块
实例代码块一般也叫构造代码块
修饰符 返回值 名字{
语句;
}

普通代码块
{
java语句;
}

执行先后顺序
当相同代码块时 按先后顺序

不同代码执行先后顺序
先执行静态再执行实例 最后构造方法
在这里面的顺序是先是构造 静态 普通
而出来的是 先静态后实例 再构造方法


打印问题
我们在打印在不同代码块定义一个相同的变量 最终打印的是什么


当在同一个入口方法内 实例化多个对象时静态代码只执行一次

对象的打印
直接打印对象的属性

通过toStrig重写 打印


更多推荐




所有评论(0)