zoukankan      html  css  js  c++  java
  • 为什么可以说Java语言是准动态语言?

    为什么可以说Java语言是准动态语言?

    2017年02月24日 19:36:58 Young丶 阅读数:1122

     版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/agonie201218/article/details/56851844

    什么是动态语言?
      动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如JavaScript便是一个典型的动态语言。

    除此之外如Ruby、Python、OC等也都属于动态语言,而C、C++、Java等语言则不属于动态语言。

    动态类型语言,就是类型的检查是在运行时做的,是不是合法的要到运行时才判断,例如JavaScript就没有编译错误,只要运行错误。

    JavaScript改变结构小例子:

    aAll[0].οnclick=function(){
                    //通过重新赋类名,达到显示隐藏菜单的效果
                    if(oArt.className=='no_circle'){
                        oArt.className='yes_circle'
                    }else{
                        oArt.className='no_circle'
                    }
                }
    }
    

    静态语言

      而静态类型语言的类型判断是在运行前判断(如编译阶段),比如java就是静态类型语言,静态类型语言为了达到多态会采取一些类型鉴别手段,如继承、接口,而动态类型语言却不需要,

    静态类型语言的主要优点:

          在于其结构非常规范,便于调试,方便类型安全;

    缺点:

            是为此需要写更多的类型相关代码,导致不便于阅读、不清晰明了。动态类型语言的优点在于方便阅读,不需要写非常多的类型相关的代码;缺点自然就是不方便调试,命名不规范时会造成读不懂,不利于理解等。

    为什么Java可以称之为"准动态语言"?

    体现在以下几个方面:

      1.反射机制

      2.动态编译

      3.动态执行javascript代码

      4.动态字节码操作

      5.动态转换类型

    Java的反射机制被视为Java为准动态语言的主要的一个关键性质,这个机制允许程序在运行时透过反射取得任何一个已知名称的class的内部信息,包括:

    正在运行中的类的属性信息,正在运行中的类的方法信息,正在运行中的类的构造信息,正在运行中的类的访问修饰符,注解等等。

    动态语言无时不刻在体现动态性,而静态语言也在通过其他方法来趋近于去弥补静态语言的缺陷。

  • 相关阅读:
    编译原理知识点总括
    操作系统知识概括
    计算机网络(谢希仁)第六版第六章
    计算机网络(谢希仁)第六版第五章
    计算机网络(谢希仁)第六版第三章
    计算机网络(谢希仁)第六版第二章
    计算机网络(谢希仁)第六版第一章
    phpcms v9 模板标签说明整理
    HTML 5终于定稿,八年后我们再一次谈谈怎么改变世界
    jquery toggle 替换的实现
  • 原文地址:https://www.cnblogs.com/grj001/p/12225259.html
Copyright © 2011-2022 走看看