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. Java生成随机图片验证码

    前台html代码 [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 <div style="margin-top: 50px;&quo ...

  2. HTTP-web服务器接收到client请求后的处理过程(很详细)

    1. 客户发起情况到服务器网卡: 2. 服务器网卡接受到请求后转交给内核处理: 3. 内核根据请求对应的套接字,将请求交给工作在用户空间的Web服务器进程 4. Web服务器进程根据用户请求,向内核进 ...

  3. Java 线程总结(十四)

    1.在异步任务进程中,一种常见的场景是,主线程提交多个异步任务,然后希望有任务完成就处理结果,并且按任务完成顺序逐个处理,对于这种场景,Java 并发包提供了一个方便的方法,使用 Completion ...

  4. web中间件之nginx

    web中间件之nginx https://www.jianshu.com/p/d8bd75c0fb1b   对nginx正向代理和反向代理理解特别好的一篇文章. 一.nginx nginx缺点,负载均 ...

  5. python基础实现简单的shell sed 替换功能

    #coding:utf-8 from pygame.draw import lines import sys,os old_file = sys.argv[1] #接受外部设备上的参数 new_fil ...

  6. bind(this)作用

    .bind()创建了一个函数,当这个函数在被调用的时候,它的 this 关键词会被设置成被传入的值(这里指调用bind()时传入的参数

  7. Centos7上查看ext4文件系统的实际创建时间

    前提:今日查看nginx日志时发现有报错,说是一些js,css文件找不到,于是想到去实际路径下查看文件是否确实不存在.结果出现下图中报错: 经过别人提醒查看文件的时间,于是看了一下登上服务器是9:52 ...

  8. SpringBoot之SpringApplication

    简介 可以用于从java主方法中引导和启动Spring应用程序的类,在默认情况下,通过以下步骤来启动应用: 创建一个ApplicationContext实例 注册CommandLineProperty ...

  9. 正则表达式之RegExp对象

    1.定义 RegExp对象是原生JavaScript中表示正则表达式的对象:是正则表达式(regular expression)的简写.有一点需要明确知道,正则表达式只能对字符串进行操作. 2.语法 ...

  10. IDEA 运行junit单元测试方法

    配置Run,增加Junit 最终配置如下: