二维数组:一维数组的数组

定义格式:

数组类型[][] 变量名 = new 数组类型[m][n](m个一维数组*每个一维数组有n个元素)

数组类型[] 数组名[] = new 数组类型[m][n]

【一个值得注意的小细节:输出数组名本身,前面有几个[,就代表这是几维数组】

二维数组的存储方式:

动态定义方式1:

动态定义方式2:

静态定义方式:

面向对象:

万事万物皆对象。

面向对象的思想:

面向过程:就是面向着具体的每一个步骤和过程,把它们完成然后相互调用,完成需求(C语言)。强调每一个功能的步骤。

面向对象:当需求有更改的可能性时,将步骤和功能相似的封装在一起。用或者更改的时候,找到相应的封装就可以了。强调对象,然后由对象去调用功能。

举例:

1、 去买电脑。面向过程:我了解电脑—了解我自己的需求—找对象的参数信息—去中关村—讨价还价—买回电脑。

面向对象:我知道我要买电脑—班长去给我买—班长买回来了

2、 洗衣服:面向过程:脱衣服—放盆里—放洗衣粉—加水—搓一搓—漂净—沥水—晾衣服

面向对象:脱衣服—找一个全自动洗衣机—放进去—按键—晾衣服

从这几个例子中,似乎面向对象,指的是一种“遇到问题,去找拥有解决这个问题属性的对象”而不是“一步步来做”的思想。

其他例子:大象装冰箱

面向对象的特征:创建对象,使用对象,指挥对象

面向对象设计:管理和维护对象之间的关系

面向对象的特征:封装/继承/多态

现实生活中的事物是如何被描述的呢?

属性:该事物的描述信息;行为:该事物能够做什么

成员变量:类中/方法外;成员方法:和以前的一样,但是把static去掉

类:是一组相关的属性和行为的集合。是一个抽象的概念。

对象:是该类事物的具体表现形式。具体存在的个体。

举例:

女神:类

菲菲小姐:对象

定义一个类,其实就是定义该类的成员变量和成员方法。

调用一个类,就是对它创建对象。

类是一个抽象的方法。只有通过对象才能调用。

格式:

类名:对象名 = new 类名();

使用成员变量:对象名.变量名

使用成员方法:对象名.方法名

根据demo,上面这两个都是new之后可以直接使用的,不用搞别的。

【注意:当我们编译一个java文件时,它里面所有的类都会被编译。因此同一个java文件包括不同的类时不需要执行多次。】

方法区:放置class和它的相关内容。

当用new关键字创建一个对象时,是在堆里开辟了一块内容,里面有我们需要的成员变量和成员方法在方法区的地址。当我们调用成员方法时,方法被调用进入栈堆。用完方法就消失

为什么这个在栈里那个在堆里,我也不太清楚,先留下这个问题。

可能是因为变量是每一个对象独有的,但是方法是重复使用的。

下面我们来看一个有趣的例子。

从图中可以看出,修改p3,和修改p1,是完全一样的。

由此我们可以考虑这样一种概念(下面这些全是我自己的理解,可能过一段时间回来发现是错的),类,是一个抽象的东西,而对象名,类似于一个指针,也就类似于数组中的数组名(数组实例其实也是new的对象)。对象名其实代表的就是它所指向的那个东西,在堆中的地址。在上图中,p1和p3指向的东西是相等的,它们出现修改时,也是类似于你喝水和我喝水都是喝水的关系。

也可以总结为下面两句话:

基本类型中,形式参数的改变不影响实际参数。

引用类型中,形式参数的改变直接影响实际参数。

传智播客-刘意-java深入浅出精华版学习笔记Day06相关推荐

  1. 传智播客-刘意-java深入浅出精华版学习笔记Day08

    工具中使用静态: 在同一个类中,main方法只能访问静态方法. [错误:无法从静态上下文中引用非静态,这样的错误一定是因为在main方法中调用了非静态方法.] 对非静态方法来说,只能通过对象(也就是其 ...

  2. 传智播客-刘意-java深入浅出精华版学习笔记Day05

    [视频的前半段讲的是方法.因为方法和函数几乎是一样的,所以直接跳过去了,从数组开始看,唯一有一点需要注意的,就是现在我们暂时都把方法定义为public static型的] 定义格式: 数组的初始化: ...

  3. 传智播客 刘意_2015年Java基础视频-深入浅出精华版 笔记(2015年10月25日23:28:50)

    day01 win 7系统打开DOS有趣方法:按住shift+右键,单击"在此处打开命令窗口"(注意:在此处可以是任何的文件夹,不一定是桌面) 用DOS删除的文件不可以在回收站恢复 ...

  4. 2010春节后传智播客报班JAVA,想找学习的人一起团报QQ940834693

    折腾这么久,熬了几个通宵,比较北京的几个有名的java培训机构,看他们的招生简章,听他们的网络课程,最终选择了传智播客.现在听说传智播客团报便宜.所以寻找过了春节想去传智播客学java的同道.qq:9 ...

  5. 传智播客 刘意_2015年Java基础视频-深入浅出精华版 笔记(day01~day10)(2015年11月17日20:51:59)

    本笔记是个人笔记+摘录笔记相结合,非完全原创 day01 win 7系统打开DOS有趣方法:按住shift+右键,单击"在此处打开命令窗口"(注意:在此处可以是任何的文件夹,不一定 ...

  6. 2015年传智播客java_2015年Java 8强势开始

    2015年传智播客java JDK 8从2015年开始,其博客文章和文章的受欢迎程度将激增. 这与本月将 Java 自动升级到JDK 8恰好吻合. 在这篇文章中,我列出并简要描述了2015年已经发布的 ...

  7. 传智播客 php培训 mysql 刘道成 word 文档,传智播客 刘道成PHP视频教程 mysql 数据库视频教程...

    记得14年的时候有整理过这套课程,但是课程太多 今天却翻不到,所以在这里发一下吧. 4 ]0 {2 I. c- Z! u0 h6 J5 x传智播客出品 讲师 刘道成 Mysql 视频教程 mysql和 ...

  8. 传z播客 刘意_2015年Java基础视频笔记(day18~day20(2016年3月20日14:36:05)

    day18 1.Map引入 Map是区分于Collection的另外一个"老大" 作为学生来说,是根据学号来区分不同的学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取 ...

  9. 传z播客 刘意_2015年Java基础视频笔记(day18~day20)(2016年3月20日14:33:31)

    day18 1.Map引入 Map是区分于Collection的另外一个"老大" 作为学生来说,是根据学号来区分不同的学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取 ...

  10. 传智播客 - java 就业面试题大全

      从享受生活的角度上来说:"程序员并不是一种最好的职业,我认为两种人可以做程序员,第一,你不做程序员,你就没有什么工作可做,或者说是即使有可以做的工作但是你非常不愿意去做:第二,你非常痴迷 ...

最新文章

  1. 如何才能知道一个导师的人品?
  2. 初级开发者vs高级开发者 | 每日趣闻
  3. java 进程消失_Java进程诡异消失问题
  4. 继续- 管理百人研发团队的烦恼(下)
  5. 2.1.3 正则化(归一化)的用处以及何时使用
  6. UNITY 带spriterender的对象导出为prefab时主贴图丢失的BUG
  7. 1亿条数据如何分表100张到Mysql数据库中(PHP)
  8. ccf 路径解析 java_CCF 201604-3 路径解析
  9. android 最新微信红包,GitHub - lthis/WeChatLuckyMoney: 微信抢红包插件 for Android
  10. OpenGL游戏程序设计——————关于这本书
  11. linux自带五笔输入法,在Linux操作系统的环境下使用五笔输入法
  12. 全面了解决策管理平台
  13. 工业数据采集网关的特点及应用场景
  14. 有限元方法的核心思想是什么?
  15. Android 微信登陆
  16. 登录GITHUB:Open your two-factor authenticator (TOTP) app or browser extension to view your authenticat
  17. unity tilemap
  18. Centos7 系统登录密码忘记解决方法
  19. RTL-SDR 学习——什么是RTL-SDR(1)
  20. 行波进位(Ripple Carry)与超前进位(Loodahead Carry)

热门文章

  1. 俄罗斯方块python代码
  2. Excel数据分析的代码(包括列表的操作)
  3. 任务管理与项目管理:哪一个最适合你的团队?
  4. 全是宝!20款优质高效的在线协作工具任你挑,就是这么强大!
  5. ubuntu 配置 ADSL 拨号上网
  6. XILINX FPGA数字信号处理——5、离散傅里叶变换原理及信号频谱分析实现
  7. 【算法设计与分析】01 算法涉及的研究内容概述
  8. 输入一个数求其倒数c语言,C语言答案(1)
  9. 基于WebAssembly 的H.265播放器研发
  10. FreeTextBox备忘