Java基础学习(二)
面向对象
- 对象:客观存在的事物
- 面向对象:人具体关注的事物的某些信息
- 类:是模子,确定对象会拥有的特征(属性)和行为(方法)
- 对象的属性:对象具有的各种特征
- 对象的方法:对象能干什么
Java定义类
- 定义类名
- 编写类的属性
- 编写类的方法
Java对象的使用
- 创建个对象
使用对象
- 引用属性:对象名.属性名
- 引用方法:对象名.方法名
Java成员变量和局部变量
- 成员变量:定义在类中,用来描述对象将有什么
- 局部变量:在类方法中定义,在方法中临时保存数据
- 作用域
- 局部:仅限于定义它的方法内
- 成员:整个类的内部是可见的
- 初始值
- 局部:Java不会自动赋予初始值
- 成员:Java会自动赋予初始值
- 优先级
Java构造方法
- 目的:用来初始化的方法
- 特点
- 名称与类名相同,且没有返回值
- 当没有指定构造方法时,系统自动生成一个无参的构造方法
Java static变量与方法
- 使用static修饰的成员变量与方法能被所有的对象共享使用
Java static初始化块
- 在类加载时执行,且只会执行一次。而不同初始化块是在实例化时执行
- 只能给静态变量赋值
封装
- 将类的某些信息隐藏在类内部,不允许外部程序直接访问
- 好处
- 只能通过规定的方法访问数据
- 隐藏类的实例细节,方便修改与现实
步骤
- 修改属性的可见性
- 创建get与set方法
- 在get与set方法中创建控制语句
Java中的包
- 管理Java文件
- 解决同名文件冲突
包的命名规范
Java访问修饰符
Java的this关键字
- this.属性:调用当前对象的属性
- this.方法:调用当前对象的方法
Java内部类
- 外部类不能使用内部类的成员与方法
- 内部类优先使用自己的变量与方法,除非使用类名.this访问
创建
- 只能使用new.外部类().成员变量来访问成员变量
- 访问外部类静态变量访问不变
方法内部类
- 只能在方法中创建与使用
- 不能有任何修饰符
匿名类
继承
- 类与类的关系,是一种is a的关系,Java中继承时单继承
- 关键字:extends
- 好处
- 方法的重写
- 继承的顺序
- 先初始化父类再初始化子类
- 先执行初始化对象中的属性,再执行构造方法中初始化
final关键字
- 修饰的属性、方法、类、变量都不允许再被修改、继承。必须被初始化
super关键字
Java Object类
- 引用的多态
- 父类的引用可以指向本类
- 父类的引用可以指向子类对象
方法的多态
- 创建本类对象,调用本类方法
- 创建子类对象,调用子类重写的方法
引用类型转换
- 向上类型转换
向下类型转换
- 避免溢出问题:使用if(xxx instanced yyy)即可强转
Java抽象类
- 关键字:abstract
- 目的:约束子类应该包含怎样的方法,而不关心子类如何去实现
Java接口
- 特征:内部全部是全局常量和公共的抽象方法组成
- 概念:定义了一批类需要去遵循的规范,它不关心这些类的内部数据和方法的实现细节,只关心这些类里必须提供某些方法
- 关键字:interface
- 接口引用指向一个实现了该接口的对象
- 与匿名内部类使用
Java常用UML
- 用例图
- 表达系统如何满足所收集的业务规则,以及特定用户需求等信息
- 类图
- 类图,业务逻辑和所支持的结构一同被用于定义全部的代码结构