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。

Java基础题记录的更多相关文章

  1. Java基础题:集合、String、性能、线程

    转载自:Java基础题 https://yq.aliyun.com/articles/601786?utm_content=m_1000001149

  2. 【原创】这道Java基础题真的有坑!我也没想到还有续集。

    前情回顾 自从我上次发了<这道Java基础题真的有坑!我求求你,认真思考后再回答.>这篇文章后.我通过这样的一个行文结构: 解析了小马哥出的这道题,让大家明白了这题的坑在哪里,这题背后隐藏 ...

  3. java基础复习记录

    java基础复习记录(数组.对象.异常) 数组 数组的定义 数组是相同类型数据的有序集合.如:篮球队就是一个数组,队员球服上有号码,相当于索引.通过某一个的某一个号码来确认是某一个队员.数组中索引从0 ...

  4. java 基础题 很基础, 很有趣

    都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底, 老手们就不用进来了,免得笑话我们这些未出校门的孩纸们, ...

  5. Java基础题

    问题: 1.请对比一下重载和重写的区别. 2.请对比一下接口和抽象类的异同. 3.写出一个单例模式,并说明其优点. 4.用过String.StringBuffer吗,说出他们的异同. 5.什么是值传递 ...

  6. 转载 java基础题(面试必知)

    1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包 ...

  7. 这道Java基础题真的有坑!我求求你,认真思考后再回答。

    本文目录 一.题是什么题? 二.阿里Java开发规范. 2.1 正例代码. 2.2 反例代码. 三.层层揭秘,为什么发生异常了呢? 3.1 第一层:异常信息解读. 3.2 第二层:抛出异常的条件解读. ...

  8. 几个Java基础题

    1.java中线程能不能重复start t1.start();        System.out.println("ssss");        t1.start(); 答:第一 ...

  9. java基础题整理(1)

    1.使用length属性获取数组长度,使用length()获取字符串的长度: 2.public.private.protected.friendly区别 public表明该数据成员.成员函数是对所有用 ...

随机推荐

  1. 【线性代数】3-4:方程组的完整解( $Ax=b$ )

    title: [线性代数]3-4:方程组的完整解( Ax=bAx=bAx=b ) categories: Mathematic Linear Algebra keywords: Ax=b Specia ...

  2. 安装conda后取消命令行前出现的base,取消每次启动自动激活conda的基础环境, 使用ubuntu 自带的Python环境

    方法一: 退出base环境回到系统自带的环境 conda deactivate 方法二 1,通过将auto_activate_base参数设置为false实现: conda config --set ...

  3. LeetCode 20. 有效的括号(Valid Parentheses )

    题目描述 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字 ...

  4. 线上应用接入sentinel的第一个流控规则

    sentinel接入第1个应用A以及控制台,已经上线一段时间了,本周接入了第2个应用B: 因为测试同学只有几个,没有压测团队.测试平台.. 各接口能承载的最大qps不确定 ,接入的应用暂时都没有配置规 ...

  5. 查找与排序算法(Searching adn Sorting)

    1,查找算法 常用的查找算法包括顺序查找,二分查找和哈希查找. 1.1 顺序查找(Sequential search) 顺序查找: 依次遍历列表中每一个元素,查看是否为目标元素.python实现代码如 ...

  6. 7.Mahout菩萨

    1.Maout简介 2.机器学习介绍 3.Mahout算法介绍

  7. easyUI之函数

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  8. Smarty模板实现隔行换样式

    在网上找了好多关于隔行改变样式的文章,都不符合自己的要求,所以自己想了好多办法,终于把隔行改变样式拿下! 这是模板文件中商品分类列表         <!--{foreach from=$cat ...

  9. WPF 绑定集合 根据集合个数改变样式 INotifyCollectionChanged

    问题:当前ListBox Items 绑定 集合数据源ListA时候:ListA集合数据源中存在另外一个集合ListB,当更改或往ListB集合中添加数据的时候,通知改变? 实体类继承 INotify ...

  10. IDEA如何构建mybatis

    任何一个软件都要和数据库关联,软件需要的数据都存储在数据库中. 对于经常使用的数据库相关的代码就出现了很多冗余的代码,持久层框架也随之出现. 目前使用比较流程的持久层框架有hibernate和myba ...