描述一个类
修饰符 class 类名{
属性 权限 特征 类型 名字
方法 权限 特征 返回值 名字 参数 异常 执行体
构造方法 权限 名字 参数 异常 执行体
程序块 执行体
}
修饰符
权限修饰符
public 共有的
protected 受保护的
默认不写 默认的
private 私有的
特征修饰符
final 最终的 不可更改的
static 静态的
abstract 抽象的
native 本地的
*transient 顺势的 短暂的---->序列化
*synchronized 同步的 线程问题
*volatile 不稳定的
权限修饰符
public 公共的 本类 同包 子类
protected 保护的 本类 同包 子类(通过子类对象在子类范围内部访问)
默认不写 默认的 本类 同包
private 私有的 本类
1.能修饰什么 2.范围如何
权限修饰符可以用来修饰 类本身 和类中的成员(除程序块)
权限修饰符用来修饰类的时候只有两个可以用(public 和 默认不写)
权限修饰符都可以修饰类中其他成员
java类和类之间的联系
继承 关联 依赖
java面向对象的四个特征
继承 封装 多态 (抽象)
封装:将一些数据或执行过程 进行一个包装
目的:保护这些数据 或 执行过程的安全
写登录流程--->main 一段代码
写登录方法--->login(name,pass)
方法本身就算是封装 封装了执行的过程 保护过程的安全 隐藏了执行细节 增强了复用性
好多的方法和属性---> 类也算是一个封装
ArrayBox
私有属性 elementData size
--->add get remove size
ensureCapacityInternal grow copyOf rangeChek
对属性本身的封装:
属性私有(封装在类中)
提供操作属性相应的方式(公有的方法)
以后强烈建议大家属性不要公有的----> 非常不安全
既然以后大家都这样操作属性 属性及其操作属性的方法都有其命名的规约
age----> setAge getAge
myAge--> setMyAge getMyAge
类的关系
has-a 包含关系(组合 聚合 关联) 语义
从亲密程度来讲不太一样
组合--->人和大脑 人和心脏的关系
整体和部分的关系 不可分割 后来形成在一起
从java程序来描述这样的关系 通过一个类的对象当做另一个类的属性来存储
use-a(need-a) 依赖关系
屠夫 杀 猪
一个类屠夫
可以做一件事 杀猪
需要一头猪
不是整体和部分的关系 某一件事请产生了关系
临时组合在一起 这件事情一旦做完关系即解散