《JAVA 程序员面试宝典(第四版)》之传递与引用篇
废话开场白
这个周末突然很想创业,为什么呢?原因很简单,我周围的同学或者说玩的比较好的朋友都发达了,前一个月和一个两年前还睡在一张床上的朋友,他现在已经在深圳买房买车了,没错是在深圳买的房。也是前一阵子一个很久不见的大学同学请吃饭,席间都是谈论天使轮、A轮之类的话题,老家高中同学很多至少也买车了吧。我呢?依然原地踏步,于是乎我决定创业了,创业的理由就是这么简单。问题来了,我什么都没有,创业又应该从哪里入手呢?我想既然现在O2O这么火,我是不是先搞一个手机APP呢?于是乎我百度了一下,应该如何快速搞一个手机APP,百度经验告诉我用APICloud,进到他们官网去看了一下,真是让人眼前一亮,各种视频教程、文档应有尽有。后来不知道为什么我又退出APICloud官网,回到搜索APIClound百度首页,无意中竟然发现在APICloud官网下面看到“DCloud发布声明,称正式起诉APICloud产品侵权“ 的标题,于是又点击进去看了一下,尼玛竟然在APICloud产品下面发现DCloud公司产品的数字证书,虽然我不知道数字证书是个什么鬼,我只知道剽窃也是一个很有技术含量的活。说了这么多和我的创业有什么关系?对不起没有关系。在这里我只想说现在软件创业都普遍偏浮躁,动不动就这个云那个云,”这个软件系统使用了大数据“,”目前公司估值5个亿"!天使轮500W,A轮多少多少等等之类的,但实际上说这些话的人有些时候我感觉真的是在吹牛逼(不包括那些真正有实力的公司),一个连接网络的程序就叫云了,一份普通的报表就叫BI或者是大数据分析了,一个只有几个员工的软件公司连测试人员都没有就敢估值5个亿。 唉!!!!!!
正文
说到传递与引用,很多人会说基本类型变量就是传值,对象型变量就是传引用,首先这里什么是传值什么是传引用?很简单当一个参数是基本数据类型的话,是不会改变本身变量的值,如果参数是对象类型则会改变本身变量的值。在没有理解这个之前,我想通过函数调用方式来改变List某个下标的值是像下面这么来写的:
当理解了传引用与传值这个概念后,完全就没有必要这么来写了,主要是 上面第42行 lstStudent.set(1, stu3); 这段代码,由于Student是一个是对象,当做一个参数来传递的话,其实传递是引用,即使不使用lstStudent.set(1, stu3);列表的值也会改变。那是不是所有对象当做参数来传递的时候,都是传递的是引用呢?额,这个不好回答,我只是知道并不是所有对象当做参数来传递后值都会改变,也并不是说所有基本类型当做参数值来传递的时候里面的值都不会改变。请看下面的代码:
总之,大体上按照对象来当做参数来传递都是会改变里面的值(基本数据对象类型除外),基本数据类型当做参数来传递都不会改变原来变量的值(基本类型的数组参数除外)。
《JAVA 程序员面试宝典(第四版)》之传递与引用篇的更多相关文章
- 【Java】Java程序员面试宝典(第三版)第5章----Java程序设计基本概念
1.static静态变量,在次级作用域也可以被修改. 2.k++ + k++.第一个自加实际上只有在与计算+k++时补增.详情P36的题目. 3.Java数据类型从低到高分为(byte short c ...
- 《JAVA 程序员面试宝典(第四版)》读书笔记之前言
工作五年了一直在小的软件公司混,总感觉自己的专业知识没有太大的提升.当然了中间也换了一两家公司,面试的公司就很多家,总感觉正规的软件公司(无论大小)对于基础知识的考核都非常重视,而不管你说你之前服务过 ...
- JAVA程序员面试宝典
程序员面试之葵花宝典 面向对象的特征有哪些方面 1. 抽象:抽象就是忽略一个主题中与当前目标2. 无关的那些方面,3. 以便更充分地注意与当前目标4. 有关的方面.抽象并不5. 打算了解全部问题 ...
- Java程序员面试宝典1 ---Java基础部分(该博文为原创,转载请注明出处)
(该博文为原创,转载请注明出处 http://www.cnblogs.com/luyijoy/ by白手伊凡) 1. 基本概念 1) Java为解释性语言,运行过程:程序源 ...
- [Java程序员面试宝典]读书笔记
ClassLoader具备层次关系,且不止一种.不同的类装载器分布创建的同一个类的字节码数据属于完全不同的对象,没有任何关联 通过Class.forName(String className),能够动 ...
- 《JAVA 程序员面试宝典(第四版)》之循环、条件、概率
分享内容:关于集合的使用 书页号码:77页 题目:一个字符串中包含a~z中的多个字符,如有重复,如String data = "aavzcadfdsfsdhshgwasdfasd ...
- 《JAVA 程序员面试宝典(第四版)》之JAVA程序设计基础概念(1)类型转换
问题主题:类型转换 书页号码:37页 题目: 讨论点:答案不是D,应该是B 理由:看下面在编译器输入的结果 知识扩展:装箱与拆箱, == 与 equals 区别 之前也老是听说什么装箱.拆箱之 ...
- java程序员面试宝典之——Java 基础部分(1~10)
基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法. 1.一个".java"源文件中是否可以包 ...
- Java程序员面试宝典——重要习题整理
1.下面程序的输出结果是() public class Test { public static void main(String[] args) { int j = 0 ; for(int i = ...
随机推荐
- 一个关于内联优化和调用约定的Bug
很久没有更新博客了(博客园怎么还不更新后台),前几天在写一个Linux 0.11的实验 [1] 时遇到了一个奇葩的Bug,就在这简单记录一下调试过程吧. 现象 这个实验要求在Linux 0.11中实现 ...
- Java8新特性 - Stream API
Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找.过滤和映射数据等操作.使用Stream API对集合进行操作,就类似与使用SQL执行的数据库 ...
- 在WPF中使用.NET Core 3.0依赖项注入和服务提供程序
前言 我们都知道.NET Core提供了对依赖项注入的内置支持.我们通常在ASP.NET Core中使用它(从Startup.cs文件中的ConfigureServices方法开始),但是该功能不限于 ...
- Asp.net Core全局异常监控和记录日志
前言 系统异常监控可以说是重中之重,系统不可能一直运行良好,开发和运维也不可能24小时盯着系统,系统抛异常后我们应当在第一时间收到异常信息.在Asp.net Core里我使用拦截器 ...
- (day29) 进程互斥锁 + 线程
目录 进程互斥锁 队列和堆栈 进程间通信(IPC) 生产者和消费者模型 线程 什么是线程 为什么使用线程 怎么开启线程 线程对象的属性 线程互斥锁 进程互斥锁 进程间数据不共享,但是共享同一套文件系统 ...
- 封装自己通用的 增删改查的方法 By EF
封装自己的通用CURD By EF using System; using System.Collections.Generic; using System.Data.Entity; using Sy ...
- OptimalSolution(4)--字符串问题(1)简单
一.判断两个字符串是否互为变形词 问题:给定两个字符串str1和str2,如果str1和str2中出现的字符种类一样且每种字符出现的次数也一样,那么str1与str2互为变形词. 举例:str1=“1 ...
- Unity系统消息广播
# 1.前言Unity自带消息系统,如SendMessage等,此方法利用的反射,且会反射游戏物体上的所有组件,对性能不友好.而且由于参数为方法名称,所以如果使用代码混淆,则会无法调用 方法,且难以追 ...
- 详细讲解IPython
ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数.学习ipython ...
- swift 手机号、邮箱、网址等正则表达式验证
看到一个不错的swift的 手机号.邮箱.网址等正则表达式验证,分享给大家. 支持swift3,经过修改后,亲测可用! import Foundation enum Validate { case e ...