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

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了

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/zhuzihan/p/9036216.html