day6笔记 野性酷女 2021-12-12 06:41 254阅读 0赞 主要内容 二维数组 面向对象概述 封装 **二维数组** 每个元素都是一个一维数组的数组,就是二维数组。 本质还是一个一维数组,只不过数组中的每个元素,都是一个一维数组的引用。 格式 int\[\]\[\] arr = new int \[3\]\[5\]; **面向对象思想** 1,就是一种编程所使用的思想,编程思路 2,面向过程是面向对象的基础,面向对于是基于面向过程的 面向过程: 更多的是强调解决问题的基本步骤,更强调的是方法,强调的是解决问题的过程,强调的是“逐步分解”解决问题的思路 面向对象: 强调的是解决问题的主体(谁来解决这个问题),强调的是对象,强调的是数据,强调的是“逐步拼装”的思考方式 3,面向过程的好处: 1,更符合人类的思考习惯 2,复杂的问题简单化 3,由执行变成指挥 4,面向对象的特征: 1.封装 2.继承 3.多态 5,总结 面向对象是基于面向过程之后,更加高纬度的一种思考方式,更高维度的编程思想,并不是和面向过程相互排斥,更多考虑的是各种数组的方法和组织。 **类和对象** 类:类型,对具体事务的一种抽象的描述,抽象的认识,就是抽象出来的一个概念,抽象就是抽取事物中,相同,相似的的内容出来,形成一个概念,方便交流 对象:事物的具体体现 1,类是一种相关属性和功能描述的集合 2,属性:对事物特征的描述,一般是名词或者形容词,表示数据 Java中,一般使用成员变量,描述属性,和以前的定义方法一样,只不过现在是在类中方法外。 3,功能:描述事物可以做什么事情,一般都是动词或者动宾结构,表示方法,java中,一般使用成员方法,描述功能 和以前定义方法一样,只不过现在去掉了 static 4,举例 人类 属性:姓名,年龄,性别 功能:吃饭,睡觉,工作 5,说明: 一个源文件可以定义多个类型,将来生成多个.class的字节码文件这些多个字节码文件并没有说明特殊关系,只是在同一个文件夹的关系 对象的创建和使用 1,对象: 事物的具体体现 具体数据和操作数据的逻辑的集合 2,对象创建的格式: 类型名称 对象名称 = new 类型名称(); 3,访问属性: 对象名.属性名 = 属性值;//赋值 对象名.属性名(); 4,功能访问; 对象名.方法名(); **两个引用指向同一个对象** 1,说明,两个引用都是记录同一个对象的地址,任意一个引用访问修改了对象内容,另外一个引用再访问对象时,都是修改过之后的内容 **局部变量和成员变量的比较** 1,成员变量:定义在类中的,用于描述某个事物的属性的变量,局部变量,定义在方法中,暂时使用该完成某个功能的变量 2,不同点: 代码方面:定义的位置不同 成员变量:定义在类中方法外 局部变量:定义在方法中或者方法声明上 内存层面:空间存储的位置不同 成员变量:粗存在堆内存中,自己所属的对象中 局部变量:存储在栈内存的当前方法的栈帧中 内存层面:生命周期不同 成员变量:属于对象,随着对象的创建而存在,随着对象的消失而消失 局部变量:属于方法,随着方法的调用而存在,随着方法的调用结束而消失 局部变量:必须先手动赋值,后使用(访问) 成员变量:有自己的默认初始化值,随着数据类型的不同,而不同 引用数据类型:null 基本数据类型: 整数类型:0 小数类型:0.0 布尔类型:false 字符类型:“\\u0000”(空格字符) **方法的形式参数的引用类型** 1,方法的形式参数,即可以是基本数据类型的变量,也可以是引用数据类型的变量 2,引用数据类型:存储的是数据的地址,而非数据本身 数组,类,接口,枚举类型 3,当方法的形式参数是一个引用类型的变量时,希望将来在调用方法的时候可以传入进来某个具体对象的引用,就是让方法声明这个引用,指向传入的对象 4,在多个方法中的引用,可以记录同一个对象的地址 任意一个方法中的该引用,操作了这个对象,其他方法中任然可以访问到对象修改之后的状态 **方法的返回值是引用类型** 1,方法的返回值类型,既可以是基本数据类型,也可以是引用数据类型 2,如果方法的返回值类型是引用类型,那么return 语句后面跟着的,必须是该类型对象的引用 3,说明,任然是多个方法中的引用,指向了同一个对象 **匿名对象的理解和使用** 1,匿名对象:没有名字的对象 2,定义格式: new 类名(); 3,使用场景: 1.当该类的某个方法,只调用一次的时候,就可以使用匿名对象,好处就是可以节省一些栈内存的空间,不需要声明额外的引用,如果需要多次使用该对象,就不建议使用匿名对象(否则得创建多个该类的对象)
相关 LeetCode刷题笔记-动态规划-day6 文章目录 LeetCode刷题笔记-动态规划-day6 152. 乘积最大子数组 1.题目 2.解题思路 我会带着你远行/ 2023年10月01日 18:12/ 0 赞/ 28 阅读
相关 day3_day6 通过案例学习MAPREDUCE教程 1. wordcount示例开发 1.1. wordcount程序整体运行流程示意图 map阶段: 将每一行文本数据变成< 淡淡的烟草味﹌/ 2023年08月17日 15:55/ 0 赞/ 150 阅读
相关 MySQL6天笔记——day01 文章目录 MySQL数据库 整体大纲 与MySQL的第一次亲密接触 为什么学习数据库? 数据库的 左手的ㄟ右手/ 2023年02月22日 10:58/ 0 赞/ 18 阅读
相关 廖雪峰Python学习笔记day6 [学习笔记day5][day5] python study day6 类属性 class Student(object): 待我称王封你为后i/ 2022年12月24日 06:58/ 0 赞/ 212 阅读
相关 day6笔记 主要内容 二维数组 面向对象概述 封装 二维数组 每个元素都是一个一维数组的数组,就是二维数组。 本质还是一个一维数组,只不过数组中的每个元素,都是一个一 野性酷女/ 2021年12月12日 06:41/ 0 赞/ 255 阅读
还没有评论,来说两句吧...