1. 装箱和拆箱

  装箱:自动将基本数据类型转换为包装器类型即引用数据类型

  拆箱:将包装器类型转换为基本数据类型

2. Java的8中基本数据类型

关键字 字节数 范围 默认值
boolelan 1byte true、false false
byte 1byte -128~127 0
short 2byte   0
int 4byte   0
long 8byte   0L
float 4byte   0.0F
double 8byte   0.0D
char 2byte   ‘\u0000’

   

3.  int和Integer的区别

   int是基本类型,而Integer是引用类型,Integer是对int的装箱,而int是对Integer的拆箱。int的默认值是0,而Integer的默认是null。int无需实例化即可使用,而Integer需要实例化方可使用

4.  有了int为什么还要有Integer

   Java语言是面向对象的语言,而int基本数据类型,不能够满足面向对象的特性,使用Integer可以将数值以及操作数值的方法封装在一起,使得外部只能通过api对数据进行操作,提高了数据的安全性,同时在java中像集合以及map这样的容器都是面向对象的,仅仅使用int无法满足其需求。

5.  字节和字符的区别

   字节是存储容量的基本单位,而字符是数字,字母、汉字以及其它语言的各种符号。

6.  Java的四大基本特性

   封装、抽象、继承以及多态。

   封装:将数据以及对数据操作的方法包装在一个类中,使得外部的访问只能通过给类提供的接口进行操作,避免用户直接对数据操作带来的危险性

   抽象:将一系列对象共有的特性总结出来,构造类的过程,包括数据抽象和行为抽象两方面,抽象只关注对象有哪些行为和属性,而不关注这些行为和属性的具体实现。

   继承:从已有的类得到继承信息来创建新的类,新的类为子类,旧有的类为父类。

   多态:允许不同子类型的对象对同一消息做出不同的响应。

   多态的理解:

    方法重载、方法重写(子类)以及接口

7.  Java创建对象的四种方式

   1.  使用new关键子创建对象

   2.  使用反射机制创建对象(Class 类的newInstance)

   3.  采用clone(实现Cloneable接口)

   4.  反序列化机制 

8.  String str  = new String(“abc”)创建几个对象

   如果String Pool中没有abc字符串,则需要在String Pool中先创建一个abc,然后再在java堆中创建一个abc,即需要创建两个对象,如果有,则只需在java堆中创建一个对象即可。

9.  String Pool

   字符串常量池,保存着所有的字符串字面量,在编译器就已经存在,在程序运行期间会动态的向该常量池中添加字符串。

   Java 7之前字符串常量池在运行时常量池中,属于永久代,后被移到了Java堆中,将字符串常量池放于永久代容易发生OutOfMemoryError。

10.  反射

    反射机制是在程序运行期间,对于任意一个类,都可以知道该类的任何方法和所有属性,对于任意一个对象都可以调用它的任意一个方法和属性,这种动态获取信息以及动态调用对象的方法的功能称为Java语言的反射机制。

  获取Clas对象的方法有: 

    Class.getClass()、Class.forName()、ClassLoader.loadClass。

最新文章

  1. [Intel Edison开发板] 03、Edison开发IDE入门及跑官方提供的DEMO
  2. Jackson轻易转换JSON
  3. 模板函数(template function)出现编译链接错误(link error)之解析
  4. C++ 关联容器
  5. 简述C#中关键字var和dynamic的区别
  6. GemFire
  7. Delphi 串口通信(1)
  8. css样式之边框和内外边距
  9. LINUX 网络编程 原始套接字
  10. 管理员控制Windows Service
  11. psql: FATAL: role “postgres” does not exist 解决方案
  12. 限制ssh远程登陆
  13. Markdown学习示例
  14. 使用Python创建一个简易的Web Server
  15. win10安装MySql 5.7.23
  16. servlet设置cookie
  17. css自定义checkbox和radio样式
  18. centos7设置时间和时区
  19. Codeforces 1005 E2 - Median on Segments (General Case Edition)
  20. [UE4]多线程开关,开启的解决方案

热门文章

  1. Centos 7 搭建蓝鲸V4.1.16稳定社区版
  2. Mac 下python3 [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed 解决方法
  3. DDCTF-2019-writeup(7web+5misc)
  4. Qt DLL总结【二】-创建及调用QT的 DLL
  5. koa 项目实战(十)使用 validator 验证表单
  6. PHP将多个文件中的内容合并为新的文件
  7. CSS层叠样式表的层叠是什么意思
  8. 06 MySQL之索引
  9. 排错:Unable to create a new session key. It is likely that the cache is unavailable.
  10. 关于域名解析|A记录|CNAME等