面向对象的基本概念
面向对象
面向对象的三大特征:封装、继承和多态。
对象
对象是用来描述客观事物的一个实体。用面对对象方法解决问题时,要对现实世界中的对象进行分析与归纳,找出哪些对象与要解决的问题是相关的。
类
类是具有相同属性和方法的一组对象的集合。类定义了对象将会拥有的特征(属性)和行为(方法)。
类与对象的关系就如同模具和用这个模具制作出的物品之间的关系。一个类给出它的全部对象的一个统一的定义,而它的每个对象则是符合这种定义的一个实体。因此类和对象的关系就是抽象和具体的关系。类是多个对象进行综合抽象的结果,是实体对象的概念模型,而一个对象是一个类的实例。
定义类
面对对象设计的过程就是抽象的过程,一般分3步来完成。
1,发现类,类定义了对象将会拥有的特征(属性)和行为(方法)。
2,发现类的属性,对象所拥有的静态特征在类中表示时称为类的属性。
3,发现类的方法,对象执行的操作称为类的方法。
定义类的的语法格式如下:[访问修饰符]class 类名{//省略类的内部具体代码}
访问修饰符如public、private等时可选的。
class是声明类的关键词。
按照命名规范,类名首字母大写。
属性
java中类的内部主要包含属性和方法。对象所拥有的特征在类中表示时称为类的属性。
[访问修饰符]数据类型 属性名;
访问修饰符是可选的。
除了访问修饰符之外,其他的语法和声明变量类似。
方法
对象执行操作的行为称为类的方法。
定义语法的格式如下:
[访问修饰符]返回类型 方法名称(参数类型 参数名1,参数类型 参数名2,.......){//.........省略方法代码}
访问修饰符是可选的。
返回类型可以是void,在定义方法时,返回类型为void时表明没有返回值,方法体中不必使用”return“关键字返回具体数据,但是可以使用”return“关键字退出方法。
返回类型如果不是”void“,那么在方法体中一定要使用”return“关键字返回对应类型的结果,否则程序会出现编译错误。
小括号中的”参数类型 参数名1,参数类型 参数名2,.......“称为参数列表。
当需要在方法执行的时候为方法传递参数时才需要参数列表,如果不需要传递参数就可以忽略,不过小括号不可以省略,传递多个参数时,以半角的逗号行分割。
创建和使用对象
创建对象
类是一类事物的集合和抽象,代表这类事物共有的属性和行为。一个对象称为类的一个实例,是类一次实例化的结果。
类的对象的语法格式如下。
类名 对象名=new 类名();
new是关键。
左边的类名为对象的数据类型。
右边的类名()称为类的构造方法。
使用对象
在java中,要引用对象的属性和方法,需要使用“.”。
使用对象的语法格式如下:
对象名.属性
对象名.方法名()
对象数组
对象数组的数据类型就是具体的类名,对象数组存储的就是这个类的对象,每个数组元素就是一个对象,当根据下标找到某个元素时,可以按照对象的使用方法来使用该元素。
成员方法
类成员主要包含两部分:成员方法和成员变量
带参数的方法
带参数的work()方法可以接受用户输入的内容。创建work()方法时定义的参数叫作形式参数,简称形参。调用方法时传入的参数叫做实际参数,简称实参。
方法重载
定义
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数类型或参数个数。
特点
在同一个类中
方法名相同
参数的个数或类型不同
方法的返回值不能作为判断方法之间是否构成重载的依据
优点
方法重载其实是对原有方法的一种升级,可以根据参数的不同,采用不同的实现方法,而且不需要编写多个名称,简化了类调用方法的代码。
成员变量
成员变量作用域
类中的属性,也就是直接在类中定义的变量称作成员变量,它定义在方法的外部。
成员变量可以在声明时赋初始值。
局部变量作用域
局部变量就是定义在方法中的变量
虽然成员变量和局部变量的名称一样,但表示的却不是同一个变量。一般情况下,局部变量在使用前需要赋值,否则会编译出错。
区别
作用域不同。
初始值不同。
在同一个方法中,不允许有同名的局部变量。在不同的方法中,可以有。
局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级。
在Java中,变量的类型分两种,基本数据类型、引用数据类型
引用类型包括3种:类、数组和接口。