• 学习日记-- 动态性。动态编译,静态方法,包装类


    1.动态编译(java6.0引入的)

    动态编译运用在比如一个网页提供一个文本框,让你输入java代码,然后在线编译。其实很简单,就是JavaCompiler这个类的操作,直接上图看

     

    代码运行:思想就是运用JavaCompiler去拿到io流中的java代码。

     

    2.静态方法

    这个比较简单了,详解在隔壁的隔壁的那个关于加载的帖子,但是这里有句话很关键

    static的方法和成员变量从属于类,静态变量又叫类变量,而普通的成员变量和方法从属于对象

    this,super不能在静态方法中用因为static在一开始就和类一起加载了,this是对当前类的引用,此时没有类怎么可以用,并不是static中不可以创立类,new关键字时候就可以得到对象的Class,详细见隔壁帖子的类的加载初始化。

     

    3.包装类(Integer)和int

    今天被问到一个问题,既然jdk1.5后实现了自动拆箱和装箱,那么integer还有什么用,什么时候用?

    我当时只回答了下面,下面可以看做对int和integer的区别:

    int基本类,默认值是0.  Integer是类,默认值为null。一个要实例化,一个直接用

     

    其实说到用处的区别是:

    1.默认值的区别在以后会用到,比如int无法判断一个数到底是传入了但是传入的是0,还是说根本没有传入

    2.Integer是一个类,实例化是一个对象,在这个面向对象的语言中,Integer会没有用?因为他是类,所以他可以调用方法,而且有的参数必须是Object这时候就需要Integer了

     

     

     

     

  • 相关阅读:
    mysql 时间戳 转 时间
    VSCode搭建VUE 开发环境
    虚拟通信
    JavaScript 获取客户端计算机硬件及系统信息
    Thinkphp关联模型BELONGS_TO
    docker部署rancher踩坑篇
    青龙面板 脚本 依赖库下载安装
    Linux 随记
    Tekton DAG代码
    手写Spring valar
  • 原文地址:https://www.cnblogs.com/zhuzihan/p/9036216.html
Copyright © 2020-2023  润新知