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; ...
随机推荐
- 四剑客(find&grep)
一.find 简介: find相关:条件匹配表达式.选项表达式.动作表达式.组合条件表达式 1.1.语法格式 find path -option [ -print ] [ -exe ...
- IoC容器设计
本文主要摘录于 Spring技术内幕-深入即系Spring架构和设计原理(许文柯著). IoC是根据两个核心BeanFactory和ApplicationContext来设计的,这里先放一张Spri ...
- Angular开发者指南(四)控制器
了解控制器controller 在AngularJS中,Controller由JavaScript构造函数定义,用于扩充AngularJS Scope. 当控制器通过ng-controller指令连接 ...
- hosts原理及作用
https://blog.csdn.net/qq_41356488/article/details/82190372 手机也可以修改hosts,但是需要root权限,百度
- vyos的Xvlan配置方式
set interfaces bridge br0 address '172.12.12.10/24' //开启一个桥借口,用于xvlan的通信 set interfaces vxlan vxlan0 ...
- 3dmax2020卸载/安装失败/如何彻底卸载清除干净3dmax2020注册表和文件的方法
3dmax2020提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装3dmax2020失败提示3dmax2020安装未完成,某些产品无法安装,也有时候想重新安装3 ...
- Go语言如何实现单例模式
单例模式是常见的设计模式,被广泛用于创建数据库,redis等单实例.作用在于可以控制实例个数节省系统资源 特点: 保证调用多次,只会产生单个实例 全局访问 单例的分类 单例模式大致分为2大类: 懒汉式 ...
- pycharm全局搜索快捷键无反应
原因:和搜狗输入法的快捷键冲突
- js 实现手风琴
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Linux下运行命令出现is not in the sudoers file的问题
原因: 用户没有加入到sudo的配置文件里. 解决方法: 1.切换到root用户,运行visudo命令: 2.找到root ALL=(ALL) ALL,在下面添加一行 xxx ALL=(ALL) ...