描述一个类
修饰符 特征 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 rangeCheck
对属性本身的封装:
属性私有(封装在类中)
提供操作属性相应的方式(公有的方法)
以后强烈建议大家属性不要公有的---->非常不安全
既然以后大家都这样操作属性 属性及其操作属性的方法都有其命名的规约
age------> setAge getAge
myAge--> setMyAge getMyAge
====================================================================
*特征修饰符
1.可以修饰什么
2.修饰以后有什么特点
final 最终的 不可更改的
修饰变量
如果在定义变量时没有赋初始值
给变量一次存值的机会(因为变量在栈内存空间内 没有默认值 如果不给机会 就没法用啦)
一旦变量被存储了一个值 若用final修饰后 则不让再次改变 ----> 相当于常量啦(值没法动)
注意变量类型是基本类型还是引用类型
如果修饰的变量是基本数据类型 则变量内的值不让更改---常量
如果修饰的变量是引用数据类型 则变量内的地址引用不让更改---对象唯一
修饰属性
全局变量 存储在堆内存的对象空间内一个空间
属性如果没有赋值 有默认值存在的
属性用final修饰后 必须给属性赋初值 否则编译报错
特点与修饰变量一致
注意变量类型是基本类型还是引用类型
如果修饰的变量是基本数据类型 则变量内的值不让更改---常量
如果修饰的变量是引用数据类型 则变量内的地址引用不让更改---对象唯一
修饰方法
方法是最终的方法 不可更改
子类继承父类的方法 将父类的方法重写(覆盖)
final修饰的方法 要求不可以被子类重写(覆盖)
修饰类本身
类是最终的 不可以更改
(太监类 无后) 此类不可以被其他子类继承
通常都是一些定义好的工具类
Math Scanner Integer String