zoukankan      html  css  js  c++  java
  • Java为什么没有指针

    为了摒弃指针带来的风险(当然了,也就放弃了指针带来的效率)。

    1、C/C++为什么有指针?

    这个很简单,程序都是在内存中运行的,只要有内存,就有内存地址,有地址,就必然有指针,只是C++对内存地址的访问做了语言的支持,称之为指针。
    2、指针的优点?
    a、效率,指针就是内存的地址访问(虽然不是真正的物理地址,但是通过简单的映射就可以得到),性能非常好。
    b、C/C++语言的需要,C/C++没有完善的面向对象支持,因此你不能声明一个Object类型的形参来接收所有类型的实参,因此C++只能通过万能指针void*来支持,C++中new出来的对象都是指针类型的(区别于直接声明一个类对象,Java中声明一个类的对象不实例化就是null,C/C++中对象类型可以像基本类型那样直接声明一个)。
    3、指针的缺点?
    a、稳定问题,指针太灵活,不小心就容易出现指针访问越界之类的问题,非常容易出问题。
    b、安全性问题。
    4、java有类似指针,在java中称为引用。所谓的引用就是内存地址的值。拿到该引用就相当 于得到了该内存处的对象。

    Java认为,程序员应该花更多的精力在业务代码上,而不是语言相关的部分。所以Java的目标就是,尽量帮你完成不需要你关注的工作:指针管理、对象管理...

    通过研究,Java认为,所有语言中需要使用指针才可以实现的代码,Java通过纯面向对象也可以给你支持。

     (哈希表)

  • 相关阅读:
    第一次设计作业
    项目选题报告(团队)
    第二次结队作业
    团队第一次作业
    原型设计(结对第一次)
    第二次作业——个人项目实战
    对于软件工程专业的思考
    电场与磁场
    透明层上的层或数字不透明
    Visiual Studio2012 CLR20r3问题
  • 原文地址:https://www.cnblogs.com/sengzhao666/p/11594238.html
Copyright © 2011-2022 走看看