java中的对象 方法 引用 等一些抽象的概念是什么意思呢?
2020-03-14
最近这一段时间有点忙,好久都没有更新博客了,之后我会一直坚持下去的,和大家一同进步的。
这段时间一直在学java,相信刚开始学习java的小白,刚开始接触那么些抽象的概念一定和我当时有一样的困扰的,这都是啥呀,怎么这么写生名词呀,都是什么跟什么啊,天天看着天书一般的概念,一定很头疼把!哈哈哈!好,接下来我就把我对这些概念的理解通俗的说出来,方便大家理解。
1: 对象
首先学到java我们最先了解的就是“对象“ 对象?难道是处对象的那个对象吗?哈哈,没错,可以理解就是那个对象。接下来咱们就好好说说这个既熟悉又陌生的”对象“,java中new的英文意思就是”新的“意思,在nava里就是创建一个新的对像。”程序员有时候大家还会互相调侃的说:“找不到对象,那还不简单,就”new"一个呗。哈哈哈哈,这次大家对他有一个简单的了解了吧!这次再深入研究new一个对象,到底哪个是他new的对象呢?这个问题大家可能都摸棱两可,下面我给大家举个简单的小例子。
Teacher t = new Student();这句话理解明白了,就会明白了new的对象到底是哪个了。简单地说 这个代码中我们可以看出来这是由new加上一个构造方法(什么是构造方法呢,可以这么理解:就是一个特性 打个比方 比如说一个狗 现在家里都养过小狗,我们可以把狗看作成一个类,那么小狗可以用鼻子嗅,那么这个就是狗的方法,这次理解了吧),咱们呢再继续说,等构造方法执行完事之后,这个Student类的对象就出现了,它运行的内存也就保存起来了,那么保存到哪里去了呢?他是把他保存到堆区里面去了,另外,这个对象出现之后,他还要做一件重要的事情,就是要把new创建那个对象在那个内存的地址给返回来,因为有了这个地址,就可以找到这个对象了,这就是对象
2:引用
什么是引用呢?费劲巴拉的搞明白对象是什么鬼,这怎么又来个引用呢!哈哈哈,不急不急,我在继续仔细地说。还是继续说上面那个例子。上面我们说new出来的对象他原来在内存的堆区里面,后再给他的地址返回出来,就好比是做坏事要准备逃跑,但是,他却留下了一些可以发现的迹象,所以他被抓了回去,哈哈哈这个例子形象吧!这个就可以这么理解,这个对象在原来的内存堆区里面,他的本身就是带地址的,那么,再找他,也就是这个对象,顺着这个地址就找到了这个对象。好啦好啦不墨迹了,说得太多了,嘻嘻嘻,因为这个概念有点抽象所以多说了几句,来,咱们言归正传,说说什么是引用。
就着上面的例子来说,他的引用就是t,学过c语言或者有一门语言的基础的情况下 ,就很好理解的,就好比是赋值,就是把后面的赋值给前面的,这个就是赋值,这个就不用我细说了吧。相信大家都知道。这个例子就是把newStudent()赋值给teacher t
俗话说,就是让t来用它,也叫引用或者叫引用变量,这都不是事,都是他。哈哈哈。也可以把t看作成一个内存地址,因为上面我们说它的对象是在内存堆里面,这样就可以用t来引用他,t的值就可以看作成内存地址或者引用地址。通过这个地址,可以准确的找到刚才咱们创建出来的对象了。之后,如果我们要使用这个对象的话,来做一些事,调用这个对象来做一些方法的话,都必须要引用这个地址**********这个需要记住********
java中的对象 方法 引用 等一些抽象的概念是什么意思呢?的更多相关文章
- 浅谈Java中的对象和引用
浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起 ...
- Java中的对象和引用
<Java编程思想>中有一段关于对象的说法: "按照通俗的说法,每个对象都是某个类(class)的一个实例(instance),这里,'类'就是'类型'的同义词." 简 ...
- 【学习笔记】Java中生成对象的5中方法
概述:本文介绍以下java五种创建对象的方式: 1.用new语句创建对象,这是最常用的创建对象的方式. 2.使用Class类的newInstance方法 3.运用反射手段,调用java.lang.re ...
- JAVA中JavaBean对象之间属性拷贝的方法
JAVA中JavaBean对象之间的拷贝通常是用get/set方法,但如果你有两个属性相同的JavaBean或有大部分属性相同的JavaBean,对于这种情况,可以采用以下几个简便方法处理. 下面对这 ...
- JAVA中JavaBean对象之间拷贝的方法
JAVA中JavaBean对象之间的拷贝通常是用get/set方法,但如果你有两个属性相同的JavaBean或有大部分属性相同的JavaBean,有个更简便的方法,他们之间的拷贝可以通过copyPro ...
- JAVA中List对象去除重复值的方法
JAVA中List对象去除重复值,大致分为两种情况,一种是List<String>.List<Integer>这类,直接根据List中的值进行去重,另一种是List<Us ...
- Java中值传递和引用传递的概念
很多书中都提到了在Java中只存在值传递,但是今天在一个NanoHTTPD的源码中看到这样一段: if (qmi >= 0) { decodeParms(uri.substring(qmi + ...
- Java中String对象的不可变性
首先看一个程序 package reverse; public class Reverse { public static void main(String[] args) { String c1=n ...
- JAVA中MESSAGEBOX,静态类直接引用
原文:JAVA中MESSAGEBOX,静态类直接引用 package cisdi.mes.wrm.mcode.serviceImpl; import javax.persistence.Entity; ...
随机推荐
- SEO//TODO
目录 技术背景 开发环境 学习过程 参考资料 结束语 技术背景 开发环境 学习过程 参考资料 结束语 达克效应(D-K effect),全称为邓宁-克鲁格效应(Dunning-Kruger effec ...
- 漫谈2014年人机交互(CHI)大会
编者按:2014年度以人机交互为主题的顶级会议ACM SIGCHI已经落下帷幕.微软研究院在此次会议的入选论文总数仅次于卡耐基•梅隆大学,位列第二.此次会议中,有哪些创新想法或技术让人眼前一亮?听微软 ...
- 【Linux_Shell 脚本编程学习笔记三、分支与循环结构】
if 语句是实际生产工作中最重要且最常用的语句,所以,必须掌握牢固 if 条件语法 1. 单分支机构 if [ 条件 ] then 指令 fi 或 if [ 条件 ]; then 指令 fi ...
- deeplearning.ai 神经网络和深度学习 week3 浅层神经网络
1. 第i层网络 Z[i] = W[i]A[i-1] + B[i],A[i] = f[i](Z[i]). 其中, W[i]形状是n[i]*n[i-1],n[i]是第i层神经元的数量: A[i-1]是第 ...
- Listary快速查找文件
快速查找文件 https://www.listary.com/
- jQuery中的bind(), live(), on(), delegate()
当我们试图绑定一些事件到DOM元素上的时候,我相信上面这4个方法是最常用的.而它们之间到底有什么不同呢?在什么场合下用什么方法是最有效的呢? 准备知识: 当我们在开始的时候,有些知识是必须具备的: D ...
- 吴裕雄--天生自然python学习笔记:Python3 XML 解析
什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. XML 被设计用来传输和存 ...
- Java 并发编程面试题
并发编程面试题-内存模型说下内存模型定义为什么要有内存模型为什么要重排序,重排序在什么时候排如何约束重排序规则happens-before什么是顺序一致性CAS 实现的原理,是阻塞还是非阻塞方式?什么 ...
- 探究 "dependencies" vs "devDependencies"
在之前学习发布npm库的时候,感觉才真正弄懂了--save-dev和-save之前的区别. –save 当我们开发一个npm模块的时候,如果使用--save 大专栏 探究 "depende ...
- 【转】PHP中被忽略的性能优化利器:生成器.md
PHP 如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生.但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明 ...