1.面向对象的概述 (1)Java 类及类的成员:属性,方法,构造器,代码块,内部类 (2)面向对象额度三大特征:封装性,继承性,多态性,(抽象性) 2.面向对象与面向过程区别 (1)面向对象:强调的功能行为,以函数为最小单位,考虑怎么做 (2)面向对象:强调具备了功能对象,以类/对象为最小单位,考虑谁来做 3.面向对象三要素 (1)类:对一类事物的描述,是抽象的,概念上的定义 (2)对象:是实际存在的该事物的每个个体,因而称为实例 (3)对象由类派生出来的 4.设计类 (1)属性=成员变量=field=域,字段 (2)方法=成员方法=函数=method 5.类中属性的使用 (1)相同点: 定义变量的格式:数据类型 变量名=变量值 先声明后使用 变量都有其对应的作用域 (2)不同点: 在类中声明位置不同 属性:直接定义在类的一对{}内 局部变量:声明在方法内,方法形参,代码块内,构造器形参,构造器内部变量 关于权限修饰不同 属性:可以在声明属性时,指明其权限修饰符 常用的权限修饰符:private,public,protected 局部变量:不可以使用权限修饰 (3)默认初始值的情况 属性:类的属性,根据其类型,都有默认初始值 整型(byte,short,int,long)0 浮点型(double,float)0.0 字符型:0(或\u0000) 布尔型(boolean)false 引用数据类型(类,数组,接口):null 局部变量:没有默认初始化值 意味着,我们在调用局部变量之前,一定要显式赋值 特别的,形参在调用时,我们赋值即可 (4)在内存中记载位置 属性:加载到堆空间中(非static) 局部变量:加载到栈空间中(方法中的形参是属于局部变量的) 局部变量:方法内变量,方法形参构造器,构造器形参,代码块内 (5)方法的声明 权限修饰符号 返回值类型方法名称(形参列表){方法体} (6)权限修饰符号 Java规定的4种权限修饰符号:private,public,protected,缺省 (7)返回值类型:有返回值vs没有返回值 如果方法有返回值,则必须在方法声明时,指定返回值类型。同时方法中需要使用reture关键字返回指定类型的数据 如果方法没有返回值,则方法声明时,使用void表示。通常,没有返回值的方法中,就不需要使用return,但是,如果使用的话,只能“return;”表示此方法结束的意思 (8)方法名,属于标志符,遵循标识符的规则和规范 (9)类和对象的创建和执行操作三步 创建类 类的实例化 调用对象的结构:”对象.属性” ”对象.方法” (10)对属性可以赋值的位置: 默认初始化 显示初始化/代码块初始化 构造器初始化 有了对象以后,可以通过”对象.属性”或”对象.方法”的方式,进行赋值 (11)jvm内存结构 编译源程序以后,生成一个或多个字节码文件 我们使用jvm中的类加载其和解释器对生成的字节码文件进行解释运行。意味着,需要将字节码文件对应的类加载到内存中,涉及到内存解析 6.方法 (1)理解万事万物皆对象 在java语言范畴中,我们都将功能,结构等封装到类中,通过类的实例化,来调用具体的功能结构 涉及到java语言与前端html,后端数据交互时,前后端的结构在java层面交互时,都体现为类,对象 对象体现在堆空间中 (2)方法的重载 定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可 “两同一不同”:同一个类,相同方法名称。参数列表不同(参数个数不同,参数类型不同) 方法重载与权限修饰符,返回值类型,形参遍历名,方法体都没有关系 (3)可变形参的方法 可变参数的格式:数据类型……变量名 当调用可变个数形参的方法时,传入的参数个数可以是:0个,1个,2个,… 可变个数形参的方法与本类中的方法名相同,形参不同的方法之间构成重载 可变个数形参的方法与本类中的方法名相同,形参类型也相同的数组之间不构成重载。换句话说,二者不能兼容 可变个数形参在方法的形参中,必须声明在末尾 可变个数形参在方法的形参中,最多只能声明一个可变形参== (4)方法参数的值传递机制(值传递机制) 如果变量是基本数据类型,此时赋值的是变量所保存的数据值 如果变量是引用数据类型,此时赋值的是变量所保存的数据地址值 String类的特殊 (5)递归方法 (6)关于变量赋值 如果变量是基本数据类型,此时赋值的是变量所保存的数据值 如果变量是引用数据类型,此时赋值的是变量所保存的数据地址值
|