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. LeetCode No.67,68,69

    No.67 AddBinary 二进制求和 题目 给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 输入: a = "11", ...

  2. JVM如何判断对象能否被回收

    •写在前面说起Java和C++,很容易想到让人疯狂的指针,Java使用了内存动态分配和垃圾回收技术,让我们从C++的各种指针问题中摆脱出来,更加专心于业务逻辑,不过如果我们需要深入了解java的JVM ...

  3. 学习python-20191230(1)-Python Flask高级编程开发鱼书_第04章_应用、蓝图与视图函数

    视频06: 1.自动导包快捷键——默认为alt + enter 键组合          选中的字符由小写变为大写——Ctrl + Shift + U键组合 2.DataRequired()——防止用 ...

  4. 前端-html-长期维护

    ###############     前端学什么?    ################ # 前端三大部分 # HTML,页面内容,学习标签 # CSS,页面样式,学习选择器和属性 # JS,页面 ...

  5. asp.net mvcview界面does not contain a definition

    在cshtml使用linq操作数据集,自动补全是可以使用Select,但是一直提示System.Collection.GenericList' does not contain a definitio ...

  6. JAVA中String类以及常量池和常用方法

    一.String类的定义 String类特点:String 代表字符串.java程序中所有的字符串文字(例如:"abc")都被实现为String类的子类 String类特点:长度不 ...

  7. Oracle 11g 静默安装过程(centos7)

    开启机器,本次实例分配的ip是:192.168.3.197(Xshell ssh连接) 2 安装unzip 工具.vim编辑器(个人习惯,vi也可以) 3 在/etc/hosts文件中添加本机IP跟主 ...

  8. 同步linux系统时间

    Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC). 系统时间:指当前Linux Kernel中的时间. 硬件时间:主板上有电池供电的时 ...

  9. WEB前端资源集(二)

    在上一篇为大家整理出了一些资源网站,接下来给大家整理了一些开发中常用的工具. 开发工具篇 开发工具集 Sublime Text 3:SublimeText 3是一个代码编辑器,也是HTML和散文先进的 ...

  10. 吴裕雄--天生自然 神经网络人工智能项目:基于深度学习TENSORFLOW框架的图像分类与目标跟踪报告(续四)

    2. 神经网络的搭建以及迁移学习的测试 7.项目总结 通过本次水果图片卷积池化全连接试验分类项目的实践,我对卷积.池化.全连接等相关的理论的理解更加全面和清晰了.试验主要采用python高级编程语言的 ...