面向对象是 Java语言的特性之一。面向对象的编程语言是利用类和对象将问题的数据和操作封装起来,并用标准接口与外界交互,是代表客观世界实体的各种类在程序中能够独立和继承。
1. 面向对象编程的概念
我们先来了解一些基本概念:抽象、封装、继承
1)抽象
面向对象的编程思路与传统抽象设计不同,它强调按照与人类思维方式中的抽象、分类、继承、组合、封装等原则去模拟现实世界的物理存在。对编程者来说,重要的是要理解现实系统怎么去抽象转化为软件系统。在编程阶段,通过抽象找出各种类,再对各种类之间的消息进行收集和处理,把问题分解成许多标准接口的构件。当有问题要变化时,就能从容自信地解除或更换现实软件的某些构件代码来适应变化。而抽象导致面向对象编程的方法与数据封装,形成不同层次上的构件。实现不同层次上的重用。
2)封装
封装是面向对象技术中隐藏信息的一种机制。它在程序中将对象的状态和行为封装成为一个完整的、结构高度集中的整体;对外有明确的接口、接口单一通用、可在各种环境下独立运行的单元。类是程序封装的最先单位。
3)继承
继承是描述两个类之间的关系。继承允许一个信类(子类)包含另一个已有类(父类)的状态和行为。子类的派生过程称为类的继承。继承是抽象分成管理的实现机制。在Java语言中,处Object类之外,任何类都有父类。继承仅支持单继承,多重继承要通过接口实现,降低了继承的复杂度。
创建一个类后,可用关键字extends去创建子类。
3)多态
多态是允许一个类中有多个同名方法、但方法的具体实现不同。
2. 类与包
类是对具有相同特性对象的封装组合,是Java程序的最小单位
1)类的声明
在使用类之前必须要声明,语法为:
【类的修饰符】class 类名【extends 父类名】【implement 接口名】{ 类体 }
类的修饰符:
- public:公共类
- abstract:抽象类,不能实例化的类
- final:终结类,没有子类
类体中声明了该类的所有变量和方法,称为成员变量和成员方法
2)成员变量
声明语法为:
【变量修饰符】类型 变量名【=初值】【,变量名【=初值】】
变量修饰符:
- public:允许所有类访问
- protected:允许相同包的类和该类的子类访问
- private:仅允许本类访问
- static:类变量,所有类共享的变量,直接访问,没有static的变量称为实例变量
访问的语法:
对象名.类变量名
对象名.实例变量名
3)成员方法
【方法修饰符】返回值的类型 方法名(参数名){方法体}
修饰符:
- public:允许所有类访问
- protected:允许相同包的类和该类的子类访问
- private:仅允许本类访问
- static:类方法,可直接调用和访问,没有static的方法称为实例方法
- synchronized:并发线程对数据访问控制
- final:终结方法,不允许子类方法覆盖
void 关键字说明无返回值,有返回值的方法体,必须有return语句知名返回的类型。
4)类的组织---包
语法:
package packageName(包的全名)
导入包:
import package1.类名
基本类库的包:
Java语言中,所提供的的基本类库Java API是由核心Java包,javax 和 org扩展包组成。
1)核心Java包
java.lang:所有应用的基本类(自动导入)
java.awt:窗口工具包,提供用户图形界面
java.applet:Applet所需的类
java.io:文件操作
java.net:网络通信
java.rmi:程序远程方法调用
java.math:算数
java.util:实用程序类和集合类
java.sql:访问数据源
java.security:网络安全操作
java.text:非自然语言的消息操作
java.bean:编写Java bean
2)javax 包
javax.naming:命名服务
javax.swing:应用程序图形界面
javax.rmi:程序远程方法调用
javax.transation:事务管理
javax.sound:多媒体
javax.accessibility:用户界面构件之间相互访问机制
3)org 包是一些有关国际组织的标准
3. Java程序编写及其运行过程
应用程序的编写和执行:
- 编写源程序
- 编译源代码
- 解释执行
Applet程序的编写和执行:
- 编写源程序
- 编写HTML文件
- 编译源代码
- 解释执行