传智播客-刘意-java深入浅出精华版学习笔记Day06
二维数组:一维数组的数组
定义格式:
数组类型[][] 变量名 = 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相关推荐
- 传智播客-刘意-java深入浅出精华版学习笔记Day08
工具中使用静态: 在同一个类中,main方法只能访问静态方法. [错误:无法从静态上下文中引用非静态,这样的错误一定是因为在main方法中调用了非静态方法.] 对非静态方法来说,只能通过对象(也就是其 ...
- 传智播客-刘意-java深入浅出精华版学习笔记Day05
[视频的前半段讲的是方法.因为方法和函数几乎是一样的,所以直接跳过去了,从数组开始看,唯一有一点需要注意的,就是现在我们暂时都把方法定义为public static型的] 定义格式: 数组的初始化: ...
- 传智播客 刘意_2015年Java基础视频-深入浅出精华版 笔记(2015年10月25日23:28:50)
day01 win 7系统打开DOS有趣方法:按住shift+右键,单击"在此处打开命令窗口"(注意:在此处可以是任何的文件夹,不一定是桌面) 用DOS删除的文件不可以在回收站恢复 ...
- 2010春节后传智播客报班JAVA,想找学习的人一起团报QQ940834693
折腾这么久,熬了几个通宵,比较北京的几个有名的java培训机构,看他们的招生简章,听他们的网络课程,最终选择了传智播客.现在听说传智播客团报便宜.所以寻找过了春节想去传智播客学java的同道.qq:9 ...
- 传智播客 刘意_2015年Java基础视频-深入浅出精华版 笔记(day01~day10)(2015年11月17日20:51:59)
本笔记是个人笔记+摘录笔记相结合,非完全原创 day01 win 7系统打开DOS有趣方法:按住shift+右键,单击"在此处打开命令窗口"(注意:在此处可以是任何的文件夹,不一定 ...
- 2015年传智播客java_2015年Java 8强势开始
2015年传智播客java JDK 8从2015年开始,其博客文章和文章的受欢迎程度将激增. 这与本月将 Java 自动升级到JDK 8恰好吻合. 在这篇文章中,我列出并简要描述了2015年已经发布的 ...
- 传智播客 php培训 mysql 刘道成 word 文档,传智播客 刘道成PHP视频教程 mysql 数据库视频教程...
记得14年的时候有整理过这套课程,但是课程太多 今天却翻不到,所以在这里发一下吧. 4 ]0 {2 I. c- Z! u0 h6 J5 x传智播客出品 讲师 刘道成 Mysql 视频教程 mysql和 ...
- 传z播客 刘意_2015年Java基础视频笔记(day18~day20(2016年3月20日14:36:05)
day18 1.Map引入 Map是区分于Collection的另外一个"老大" 作为学生来说,是根据学号来区分不同的学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取 ...
- 传z播客 刘意_2015年Java基础视频笔记(day18~day20)(2016年3月20日14:33:31)
day18 1.Map引入 Map是区分于Collection的另外一个"老大" 作为学生来说,是根据学号来区分不同的学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取 ...
- 传智播客 - java 就业面试题大全
从享受生活的角度上来说:"程序员并不是一种最好的职业,我认为两种人可以做程序员,第一,你不做程序员,你就没有什么工作可做,或者说是即使有可以做的工作但是你非常不愿意去做:第二,你非常痴迷 ...
最新文章
- 如何才能知道一个导师的人品?
- 初级开发者vs高级开发者 | 每日趣闻
- java 进程消失_Java进程诡异消失问题
- 继续- 管理百人研发团队的烦恼(下)
- 2.1.3 正则化(归一化)的用处以及何时使用
- UNITY 带spriterender的对象导出为prefab时主贴图丢失的BUG
- 1亿条数据如何分表100张到Mysql数据库中(PHP)
- ccf 路径解析 java_CCF 201604-3 路径解析
- android 最新微信红包,GitHub - lthis/WeChatLuckyMoney: 微信抢红包插件 for Android
- OpenGL游戏程序设计——————关于这本书
- linux自带五笔输入法,在Linux操作系统的环境下使用五笔输入法
- 全面了解决策管理平台
- 工业数据采集网关的特点及应用场景
- 有限元方法的核心思想是什么?
- Android 微信登陆
- 登录GITHUB:Open your two-factor authenticator (TOTP) app or browser extension to view your authenticat
- unity tilemap
- Centos7 系统登录密码忘记解决方法
- RTL-SDR 学习——什么是RTL-SDR(1)
- 行波进位(Ripple Carry)与超前进位(Loodahead Carry)