java 8增强的包装类

---恢复内容开始---

1java为8个类型提供了对应的包装类。因为这8个类型并不是类或者对象,他们原本是不应该存在在java里的(这里说的只是原本),这里要强调的是,java允许把基本类型的值直接赋值给对应包装类的引用变量,也允许把包装类对象赋给对应的基本类型变量。


 

 

比如:

  byte a=10;

  Byte B=new Byte();  

  B=10;//这是可行D .

  a=B;//这也是可行的,因为上面强调过了。

其实这里根本的原因是,发明java的人希望能够统一java(都是由类组成的),所以他就把那些原本不是类的东西,写进了他的库里面。


 

2java 如何实现一个不可变类呢? java中使用final关键字修饰类,方法,变量。修饰过之后的类不能派生子类,修饰过的方法不能被子类覆盖,修饰过的变量不允许给他重新赋值。这就是非常厉害的地方,比如一个临界值是固定的,所以使用final修饰过之后,这个值就固定在了内存中,static 修饰的话就是类变量,不修饰就是实例变量(或方法),所以他们在类建立或者方法建立的时候就成为了一个固定的值。

比如:在这里的age提前就说好他是final,所以无论如何都是不可以修改的。

 


 

3abstract和interface两个关键字,他定义了抽象类和接口。其实抽象类和接口就是多个子类的共同特征,抽象类就是多个类的模板,而接口定义了多类应该遵守的规矩。可以这样说,抽象类就是一个老师,老师教给所有同学知识,所有同学都学会(假设子类是一个非常聪明的孩子),而接口就是教导主任或者说是校警,他负责管理多类让他们遵守一定的规矩。Lambda是java8最重要的更新。

面向对象的本质就是让程序向世界一样去思考,去协作。

2

  java的八种数据类型

  

---恢复内容结束---

posted @ 2016-12-19 11:30  毕猫咪  阅读(173)  评论(0编辑  收藏  举报