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中的对象 方法 引用 等一些抽象的概念是什么意思呢?的更多相关文章

  1. 浅谈Java中的对象和引用

    浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起 ...

  2. Java中的对象和引用

    <Java编程思想>中有一段关于对象的说法: "按照通俗的说法,每个对象都是某个类(class)的一个实例(instance),这里,'类'就是'类型'的同义词." 简 ...

  3. 【学习笔记】Java中生成对象的5中方法

    概述:本文介绍以下java五种创建对象的方式: 1.用new语句创建对象,这是最常用的创建对象的方式. 2.使用Class类的newInstance方法 3.运用反射手段,调用java.lang.re ...

  4. JAVA中JavaBean对象之间属性拷贝的方法

    JAVA中JavaBean对象之间的拷贝通常是用get/set方法,但如果你有两个属性相同的JavaBean或有大部分属性相同的JavaBean,对于这种情况,可以采用以下几个简便方法处理. 下面对这 ...

  5. JAVA中JavaBean对象之间拷贝的方法

    JAVA中JavaBean对象之间的拷贝通常是用get/set方法,但如果你有两个属性相同的JavaBean或有大部分属性相同的JavaBean,有个更简便的方法,他们之间的拷贝可以通过copyPro ...

  6. JAVA中List对象去除重复值的方法

    JAVA中List对象去除重复值,大致分为两种情况,一种是List<String>.List<Integer>这类,直接根据List中的值进行去重,另一种是List<Us ...

  7. Java中值传递和引用传递的概念

    很多书中都提到了在Java中只存在值传递,但是今天在一个NanoHTTPD的源码中看到这样一段: if (qmi >= 0) { decodeParms(uri.substring(qmi + ...

  8. Java中String对象的不可变性

    首先看一个程序 package reverse; public class Reverse { public static void main(String[] args) { String c1=n ...

  9. JAVA中MESSAGEBOX,静态类直接引用

    原文:JAVA中MESSAGEBOX,静态类直接引用 package cisdi.mes.wrm.mcode.serviceImpl; import javax.persistence.Entity; ...

随机推荐

  1. SEO//TODO

    目录 技术背景 开发环境 学习过程 参考资料 结束语 技术背景 开发环境 学习过程 参考资料 结束语 达克效应(D-K effect),全称为邓宁-克鲁格效应(Dunning-Kruger effec ...

  2. 漫谈2014年人机交互(CHI)大会

    编者按:2014年度以人机交互为主题的顶级会议ACM SIGCHI已经落下帷幕.微软研究院在此次会议的入选论文总数仅次于卡耐基•梅隆大学,位列第二.此次会议中,有哪些创新想法或技术让人眼前一亮?听微软 ...

  3. 【Linux_Shell 脚本编程学习笔记三、分支与循环结构】

    if 语句是实际生产工作中最重要且最常用的语句,所以,必须掌握牢固 if 条件语法 1. 单分支机构 if  [ 条件 ] then 指令 fi 或 if  [  条件 ]; then 指令 fi   ...

  4. 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]是第 ...

  5. Listary快速查找文件

    快速查找文件 https://www.listary.com/

  6. jQuery中的bind(), live(), on(), delegate()

    当我们试图绑定一些事件到DOM元素上的时候,我相信上面这4个方法是最常用的.而它们之间到底有什么不同呢?在什么场合下用什么方法是最有效的呢? 准备知识: 当我们在开始的时候,有些知识是必须具备的: D ...

  7. 吴裕雄--天生自然python学习笔记:Python3 XML 解析

    什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. XML 被设计用来传输和存 ...

  8. Java 并发编程面试题

    并发编程面试题-内存模型说下内存模型定义为什么要有内存模型为什么要重排序,重排序在什么时候排如何约束重排序规则happens-before什么是顺序一致性CAS 实现的原理,是阻塞还是非阻塞方式?什么 ...

  9. 探究 "dependencies" vs "devDependencies"

    在之前学习发布npm库的时候,感觉才真正弄懂了--save-dev和-save之前的区别. –save 当我们开发一个npm模块的时候,如果使用--save 大专栏  探究 "depende ...

  10. 【转】PHP中被忽略的性能优化利器:生成器.md

      PHP  如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生.但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明 ...