Java中到底有没有指针;同时注意引用和指针的区别
Java中引用的作用类似于指针,但是有区别:()
(1) 指针必然指向一个内存地址,如果你定义的时候不指定,就会乱指(很可能造成安全隐患)但是引用定义出来后默认指向为空。
(2) 指针可以随意操作,但是引用不可以随便操作,永远只能指向对象的首地址,或者改变引用所指向的对象。
(3) 引用降低了指针的灵活性,但是更安全,便于人操作。
(4)引用是受控、安全、阉割版的指针。安全了,当然也就失去了一定的功能,不过还是利大于弊。
(5)Java 中没有指针,但是有一个类似指针的东西,引用!例如:String str=new String("Helloworld"),
str 就是引用
(6)Java中没有指针,但是有引用,如Object obj是指向一个Object类对象的引用,拥有指针的部分功能,但不允许
int *p = &a;
p += 2;
即不会误操作其他内存区域。
(7)引用就是一个指针只是使用权限小了些引用未赋值使用时抛的是啥异常, 空指针异常不能改变参数的值,只能改变参数
的属性值就很明白的告诉了我们引用就是指针
Java中到底有没有指针;同时注意引用和指针的区别的更多相关文章
- Java中到底是值传递还是引用传递?
Java中到底是值传递还是引用传递? 我们先回顾一下基本概念 实参和形参 参数在编程语言中是执行程序需要的数据,这个数据一般保存在变量中.在Java中定义一个方法时,可以定义一些参数, 举个例子: p ...
- Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别? Java 中访问数据库的步骤 1)注册驱动: 2)建立连接: 3)创建Statement: 4)执 ...
- Java中传参的值传递和引用传递问题(转)
今天遇到了一个java程序,需要用参数来返回值(虽然最后用另一种方法实现了),在网上看到这样一篇文章,很受启发. 本文章来自于http://hi.baidu.com/xzhilie/blog/item ...
- Java中synchronized 修饰在static方法和非static方法的区别
[问题描述]关于Java中synchronized 用在实例方法和对象方法上面的区别 [问题分析]大家都知道,在Java中,synchronized 是用来表示同步的,我们可以synchronized ...
- java中Class对象详解和类名.class, class.forName(), getClass()区别
一直在想.class和.getClass()的区别,思索良久,有点思绪,然后有网上搜了搜,找到了如下的一篇文章,与大家分享. 原来为就是涉及到Java的反射----- Java反射学习 所谓反射,可以 ...
- Java中实现多线程继承Thread类与实现Runnable接口的区别
Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2. 通过实现Runnable接口,实例化Thread类 在实际应用中, ...
- Java中构造函数传参数在基本数据类型和引用类型之间的区别
Java中构造函数传参数在基本数据类型和引用类型的区别 如果构造函数中穿的参数为基本数据类型,如果在函数中没有返回值,在调用的时候不会发生改变:而如果是引用类型,改变的是存储的位置,所有不管有没有返回 ...
- java中重载(overload)与重写(override)的区别
方法重载(overload): 方法重载就是在一个类中可以创建多个方法,它们具有相同的名字,但是具有不同的参数和不同的定义,调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法,这就 ...
- Java中的四种引用类型,强引用,软引用,弱引用,虚引用
对于Java中的垃圾回收机制来说,对象是否被回收的标准在于该对象是否被引用.因此,引用也是JVM进行内存管理的一个重要概念. Java中对象的引用一般有以下4种类型: 1强引用 2软引用 3弱引用 ...
随机推荐
- PHP获取上个月、下个月、本月的日期
获取本月日期: 代码如下: function getMonth($date){ $firstday = date("Y-m-01",strtotime($date)); $la ...
- eclipse tomcat内存溢出,加大内存
保存图片失败,请点击这里获得详细信息. 加入 -Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m
- javascript对象几种创建方式
Javascript对象创建的几种方式 1.使用new运算符创建Object var box=new Object(); box.name='肖能武'; box.age=28; 2.ne ...
- 分享下VellLock源代码。。。VellLock正式开源
一个月前就准备发布,一直没网,今天在我同学家蹭了个网,就早点发布吧:点我获取源代码 简介地址:http://vell001.clanmark.com/forum/forum.php?mod=viewt ...
- 使用Hadoop打造私有云盘之API操作
项目介绍:使用hadoop实现云盘的增删读获取列表功能,hadoop不支持数据修改,特性是一次写入多次读取.主流的网盘也不支持该功能.今天我们用hdfs的FileSystem实现这些操作. 1.上传功 ...
- 12306火车票订票网站的一个Bug
国庆节后回上海,大家都知道的火车票灰常火爆,卧铺票一票难求.登录http://www.12306.cn 铁路公司售票网站发现北京—>上海的卧铺已经售完,考虑到北京—>蚌埠这段还是在白天及晚 ...
- google搜索新姿势
大前提:英文Google→http://www.google.com或http://www.google.cn 第一篇 在搜索框上输入:"indexof/"inurl:lib 再按 ...
- SweetAlert 使用
$(".delete").click(function(){ var work_name = $(this).data('name'); var item_id = $(this) ...
- RSA加密解密操作
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- 读取xml格式文件
$v = [xml]get-content d:\vmconfig.xml $v.Domain.Computer.Name =========================== $v.GetElem ...