如何开汽车(事物比较简单,可以用线性的思维去解决)
面向过程: 面向对象: 1.采离合 驾驶员 2. 挂档 汽车 3.踩油门,放离合 驾驶员开汽车! 4.开了 car.start(); 对象和类的概念、 对象:是具体的事物 xiaoming xiaohong 类:是对对象的抽象(抽象 抽出象的部分)Person 先有具体的对象,然后抽象各个对象之间象的部分,归纳出类通过类再认识其他对象。 生活案例 类是一个图纸 对象是根据该图纸制造多个实物 类是一个模具 对象是使用模具制造的多个铸件(月饼模子 ) 类是上海大众汽车,对象就是大家购买的一辆辆具体上海大众汽车Java是一种面向对象编程语言。
类是对象的类型,对象是类的实例。
对象的静态特征和动态特征分别称为对象的属性和方法,它们是构成对象的两个主要因素。
属性是用来描述对象静态特征的一个数据项,该数据项的值既属性值,方法是用来描述对象动态特
征(行为)的一个动作序列。
封装就是把一个事物包装起来。
对象的属性和方法是相辅相成,不可分割的,它们共同组成了实体对象。
类是程序的基本单元。Java是完全面向对象的编程语言,所有程序都是以类为组织单元的。
如何定义类
- 定义类名
语法:public class 类名{}
- 编写类的属性
- 编写类的方法
语法:访问修饰符 返回值类型 方法名(){
//方法体
}
使用类的步骤
定义类
创建对象 类名 对象名 = new 类名();
调用方法 对象名.属性//引用对象的属性
对象.方法名()//引用对象的方法
面向对象的优点
- 与人类的思维一致
- 信息隐藏,提高了程序的可维护性和安全性
- 提高了程序的可重用性
类的无参方法
什么是类的方法:类是由一组具有相同属性和共同行为的实体抽象而来的。对象执行的操作,是通
过编写类的方法实现的。
类的方法必须包括以下三个部分:
- 方法的名称
- 方法的返回值类型
- 方法的主体
语法
Public 返回值类型方法名(){
//方法的主体
}
通常,编写方法的时,分两步完成:
- 定义方法名和返回值类型
- 在{}中编写方法的主体部分
方法执行后可能会返回一个结果,该结果的类型称为返回值类型。使用return语句返回值。
语法:return 表达式;
如果方法没有返回值,则返回值为void。
return语句是跳转语句的一种
- 跳出方法
- 跳出结果
类的有参方法
定义类的有参方法的语法:
<访问修饰符>返回值类型<方法名>(<参数列表>){
方法的主体
}
<访问修饰符>指该方法允许访问的权限范围,只能是public、protected、private
返回值类型指方法返回值类型
<方法名>是定义的方法的名字,它必须使用合法的标识符
<参数列表>是传送给方法的参数列表。列表中的各个参数以逗号隔开。
形参是在定义方法时对参数的称呼,目的是定义方法时需要传入的参数个数和类型。
实参是在调用方法时传递给方法的实际值。
调用方法时,需要注意以下两点:
- 先实例化对象,在调用方法。
- 实参的类型、数量、顺序都要与形参一一对应。
包的作用:
- 包允许将类组合成较小的单元(类似文件夹),易于找到和使用相应的类文件
- 防止命名冲突,java中只有在不同包的类才能重名。
- 包允许在更广的范围内保护类、数据和方法,可以在包内定义类。根据规则,包外的代码有可能不能访问该类。
如何声明包:
1.package包名:
2.包的声明必须是java源文件中的第一个非注释语句,而且一个源文件只能有一个包声明语句。
3.Java包的名字通常由小写字母组成,不能以圆点开头或结尾。
4.一个唯一包名的前缀通常是全部小写的ASCLL字母,并且是以个顶级域名com、edu、gov、net
或org,通常使用组织的网络域名的逆序。
5.包名的后续部分依不同机构各自内部的规范不同而不同。这类命名规范可能以特定目录名的组成
来区分部门、项目、机器或注册名。
如何导入包:import包名,类名;
在使用import导入时,可以是用“包名.*”语法:import包名.*。
类和对象的总结 面向对象 面向对象(Object Oriented)是一种新兴的程序设计方法,或者是一种新的程序设计规范 (paradigm),其基本思想是使用对象、类、继承、封装、多态等基本概念来进行程序设计。从现实 世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然 思维方式。 对象对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一
组属性和对这组属性进行操作的一组服务组成。
类的实例化可生成对象,一个对象的生命周期包括三个阶段:生成、使用、消除。
当不存在对一个对象的引用时,该对象成为一个无用对象。Java的垃圾收集器自动扫描对象的
动态内存区,把没有引用的对象作为垃圾收集起来并释放。当系统内存用尽或调用System.gc( )要
求垃圾回收时,垃圾回收线程与系统同步运行。
类
类是具有相同属性和方法的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描
述,其内部包括属性和方法两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,
它应该有一个类名并包括属性和方法两个主要部分。
Java中的类实现包括两个部分:类声明和类体。
类声明
[public][abstract|final] class className [extends superclassName] [implements interfaceNameList]{……}
其中,修饰符public,abstract,final 说明了类的属性,className为类名,superclassName为类的父类的名字,interfaceNameList为类所实现的接口列表。
类体
class className{
[public | protected | private ] [static] [final] [transient] [volatile] type variableName;//成员变量
[public | protected | private ] [static] [final | abstract] [native] [synchronized] returnType methodName([paramList]) [throws exceptionList]{
statements
}//成员方法
}
成员变量限定词的含义:
static: 静态变量(类变量)
final: 常量;transient: 暂时性变量,用于对象存档,用于对象的串行化
volatile: 贡献变量,用于并发线程的共享
方法的实现也包括两部分内容:方法声明和方法体。
方法声明
方法声明中的限定词的含义:
static: 类方法,可通过类名直接调用
abstract: 抽象方法,没有方法体
final: 方法不能被重写
native: 集成其它语言的代码
synchronized: 控制多个并发线程的访问
方法声明包括方法名、返回类型和外部参数。其中参数的类型可以是简单数据类型,也可以是
复合数据类型(又称引用数据类型)。
对于简单数据类型来说,java实现的是值传递,方法接收参数的值,但不能改变这些参数的
值。如果要改变参数的值,则用引用数据类型,因为引用数据类型传递给方法的是数据在内存中的
地址,方法中对数据的操作可以改变数据的值。
方法体
方法体是对方法的实现,它包括局部变量的声明以及所有合法的Java指令。方法体中声明的局
部变量的作用域在该方法内部。若局部变量与类的成员变量同名,则类的成员变量被隐藏。
为了区别参数和类的成员变量,我们必须使用this。this用在一个方法中引用当前对象,它的
值是调用该方法的对象。返回值须与返回类型一致,或者完全相同,或是其子类。当返回类型是接
口时,返回值必须实现该接口。
构造方法
构造方法是一个特殊的方法。Java 中的每个类都有构造方法,用来初始化该类的一个对象。
构造方法具有和类名相同的名称,而且不返回任何数据类型。
重载经常用于构造方法。
构造方法只能由new运算符调用



