06 Java面向对象基础
① 面向对象概念
-
结构化编程
- 在程序设计的早期,程序用流程图和自顶向下的方法设计。
- 采用这种设计方法,程序员会将一个大的问题分解成更小的任务;
- 然后为每个更小的任务编写一个过程(或函数);
- 最后,程序员会编写一个主过程来启动程序流程,随后根据程序流程的走向,调用想要的其它流程。
- 这种流程设计被称为结构化编程。
- 面向对象编程
- 20世纪70年代以后,面向对象编程(Object Oriented Programming,简称OOP)开始流行。
- OOP采用一种完全不同的方法来开发计算机应用程序。在这种方法中,程序不是围绕着要解决的任务来设计,而是围绕着要解决的问题中的对象来设计。
- 建立对象模型,将问题化为不同的对象去处理。
- 面向对象的解决方案
- 找对象
- 编写一个类来描述每个对象的属性和行为
- 属性:对象上有什么值数据
- 行为:对象可以做什么,或者我们想这些对象做什么
② 类和对象
- 两者的区别
- 类是对象的抽象,对象是类的实例
-
- 类存在磁盘、对象存在内存
- 创建要求
- 每一个Java文件里必须有且仅有一个public类
- public类的名字必须是文件的名字
- 类的名字首字母必须大写(大驼峰原则)
- 不能用中文作为类名
- 创建对象的时候,如果对象的属性没有初始化,虚拟机自动进行默认初始化
- int——0
- String——null
- double——0.0
- 属性的组成及规范
- 组成
- 属性修饰符(可以省略,并不表示没有,代表默认)
- 数据类型
- 属性名称
- 规范
- 属性存放在类的下面,变量存放在某一个局部的模块
- 属性当前类所对应的的数据
- 使用及销毁
- 使用
- 对象存在堆里边
- 使用 . 运算符访问对象的属性和行为
- this 引用(this 代表对当前类的对象的引用)
- 销毁
- 如果一个对象没有任何的引用,那么就具备了被垃圾回收机制(GC)回收的条件。
- 如果想主动通知垃圾回收机制回收一个对象,只需要:对象 = null。
- 使用
- 组成
③ Java包(package)
- 命名及特点
- 包就是文件夹
- 包名:一般是以公司域名(反着写)作为包的名字
- 类名:文件的名字就是类名
- 全限定类名:包名 + 类名
- 优点及作用
- 提供了一个组织类的机制
- 为包中的类提供了一个命名空间