JavaSE基础语法--傻瓜笔记--1017(第三章:面向对象1)

it2023-06-28  70

第三章:面向对象

面向对象1

1.面向过程和面向对象的设计思想

面向过程 procedure oriented programming (POP):分析出解决问题所需要的步骤,然后把步骤一步一步实现。因此更注重步骤。

面向对象 object oriented programming (OOP):以分类的的方式进行思考和解决问题。面向对象的思维方式适合于处理复杂问题。面向对象的思想符合人类的认识习惯。因此,更注重宏观、整体上的设计。

/*大象进冰箱问题 面向过程:打开冰箱门(); 装大象(); 关闭冰箱门(); 面向过程:设计冰箱类{ 开门(); 关门(); } 人类{ 操作(); } 或 门类{ 开门(); 关门(); } 设计冰箱类{ 门类(); } 人类{ 操作(); } */

注:面向过程适合处理简单的事情,直接关注流程,简单有效。

​ 面向对象适合处理复杂的事情,先使用面向对象的方式对整体关系做出分类,然后,根据不同的类深入细节的处理。

​ 面向对象无法取代面向过程,它们是相辅相成的。面向对象关注于从宏观上把握事情之间的关系,在具体到如何实现某个细节时,仍然采用面向过程的思维。

2.Java类

什么是类?

类是一个模板,他描述一类对象(事物)的属性和行为。

类是表示一个客观世界某类群体的一些基本特征抽象。

类 = 汽车设计图;对象 = 实实在在的汽车。

类里面定义事物特征 == 汽车设计图 == Java.文件

对象是具体存在 == 具体的是某一辆车(实际存在,可以使用)

类的结构:

成员变量:对象属性的描述

方法:对象的行为;(可以做的事情)

构造方法:用于创建对象

内部类:即在类体中声明的类

块:代码块 类的定义:

第一步:发现类;

第二步:发现类的公共属性;

第三步:发现类的方法

类的声明:

[访问权限修饰符 public/default][修饰符 final/abstract] class 类名{ //类的属性 类的成员 变量 被类包含 //成员变量声明语法: //[访问权限修饰符][修饰符]数据类型 变量名[=值]; //类的行为 类的成员 方法 被类包含 //成员方法声明语法: //[访问权限修饰符][修饰符] 返回值类型 方法名(形式参数类型 参数名){ //[return 值 ;] //返回值类型若是void,则return可有可无。其余的返回值类型必须加上return。 } }

3.Java对象

对象:对象是类的一个实例(对象不是找个女朋友或男朋友),是以类为模板,在内存中创建一个实实在在存在的实例。

4.对象的创建和使用

Car c = new Car();

new关键字 + 默认构造方法();在内存中创建一个对象,但不能使用,需要在左侧以类为模板声明一个变量指向内存空间中具体的对象,使用变量访问对象中的属性、方法。

注:通过类可以创建无数个对象。

5.总结类和对象

①类是一类事物的抽象概念,是一个模型。

②对象是由这个模型所创造的一个一个的具体存在的,是实实在在的实例。

所以创建对象的过程也叫实例化对象。 对象 == 实例

现实生活中先有对象后有类,而编程时先设计类后创建对象。

6.变量分类

成员变量: ​ ①定义在类中,方法体之外。

​ ②数据类型为基本类型和引用类型。

​ ③变量可以不赋值,Java自动赋值。 ​ ​ ④在创建对象时会从类体中复制一份到对象中。

引用类型(String):null, 整数类型:0,浮点类型:0.0,布尔类型(boolean):false, 字符型(char):不显示,实际上为空格。

局部变量: ​ ①在方法、构造方法、语句块中定义的变量。

​ ②数据类型为基本类型和引用类型。

​ ③在使用前必须赋初值。

​ ④变量声明、初始化都在方法中,方法结束后,变量自动销毁。

​ ⑤方法的参数也是局部变量,在调用时,会为其赋值。

类变量:(也叫静态变量)类变量也声明在类中,方法体之外,但必须声明为static类型。

7.方法分类

一个类可以包含以下类型方法:

成员方法:成员方法是定义在类中。这种方法在创建对象时创建。

语法格式:

[修饰符]返回值类型 方法名(参数列表){ 方法体语句; [return 返回值;] //当返回值类型为void时,return可有可无 }

构造方法: ①是定义在Java中的一个用来创建对象的方法。

②方法名与类名相同,没有返回值,不需要void修饰。

③一个类中可以拥有多个构造方法。(方法重载)

④如果类中没有显示的声明构造方法,类中会默认有一个无参的构造方法。

⑤一旦类中定义了有参的,默认无参的构造方法会被覆盖。建议写有参的时候把无参的也写上。

[访问权限修饰符] 类名(参数列表){ 方法体语句; }

类方法:(也叫静态方法)类方法也声明在类中,但必须声明为static类型。

方法的重载:

什么样的情况构成方法重载:在一个类中有多个方法名相同,且参数不同的方法。

参数不同:类型不同,个数不同,顺序不同。

重载的作用:可以处理功能相同,但是参数类型不同的一类问题。

注:成员方法和构造方法都可以重载。

若有错误,欢迎私信指正。

最新回复(0)