java基础面试知识点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java 基础面试知识点

java 中== 和equals 和hashCode 的区别

int 、char 、long 各占多少字节数

byte 1字节最小值是-128(-2八7); 最大值是127(2八7-1);

boolean 至少1 字节这种类型只作为一种标志来记录true/false 情况;

short 2 字节最小值是-32768(-2X5); 最大值是32767(2X5 - 1);

char 2 字节最小值是\u0000( 即为0);最大值是?(即为65,535);

int 4字节最小值是-2,147,483,648(-2^31); 最大值是

2,147,483,647(2^31-1);

float 4 字节单精度浮点数字长32 位,尾数长度23 ,指数长度8 ,指数偏移量127;

long 8 字节最小值是-9,223,372,036,854,775,808(-2^63);

最大值是9,223,372,036,854,775,807(2^63 -1);

double 8 字节双精度浮点数字长64位,尾数长度52 ,指数长度11,指

数偏移量1023;

英文字母字节数: 1; 编码GB2312

字节数: 1; 编码GBK

字节数: 1; 编码ISO-8859-1

字节数: 1; 编码UTF-8

中文汉字字节数: 2; 编码GB2312

字节数: 2; 编码GBK

字节数: 1; 编码ISO-8859-1

字节数: 3; 编码UTF-8

int 与integer 的区别

Ingeter 是int 的包装类,int 的初值为0,Ingeter 的初值为null;

初始化的时候,int i=1;Integer i=new Integer(1);(要把integer 当做一个

类看);但由于有了自动装箱和拆箱使得对Integer 类也可使用Integer i=1;

int 是基本数据类型(面向过程留下的痕迹,不过是对java 的有益补充),Integer 是一个类,是int 的扩展,定义了很多的转换方法

Integer 是对象,用一个引用指向这个对象,而int 是基本类型,直接存储数值。

对java 多态的理解

多态继承父类的子类重写父类的某个方法,不同的子类调运同一个方法可以,产生不同的结果。

多态的三个必要条件:

继承父类

重写父类的方法

父类的引用指向子类对象

面向对象的三大特性封装、继承、多态。从某种程度来看,封装、继承就是为了多态准备的,也是最重要的知识点。

实现多态的技术动态绑定,是指在执行期间,根据引用对象实际指向的对象,来执行对应的方法。

多态的作用消除类型之间的耦合关系。

多态的好处

可替换行多态对已存在的代码有可替换性(重写);

扩展性多态对代码具有扩展性;

接口性多态是父类通过方法签名,为子类提供的共同接口,由子类去完善或

灵活性它在应用中体现了灵活多样的操作,提高了使用效率

简化性。Java中多态的实现方式实现接口,继承父类进行方法重写,同一个类中进行方法的重载。

什么是内部类?内部类的作用

定义将一个类定义在一个类或者一个方法里面,这样的类称着内部类

内部类的种类有4 种

1、成员内部类

2、静态内部类静态内部类就是在成员内部类多加了一个static 关键字。

3、匿名内部类

4、局部内部类

内部类的作用

1、内部类可以很好的实现隐藏

非内部类是不可以使用private 和protected 修饰的,但是内部类却可以,从而达到隐藏的作用。同时也可以将一定逻辑关系的类组织在一起,增强可读性。

2、间接的实现多继承。

每个内部类都能独立地继承自一个(接口的)实现,所以无论外部类是否已经继承了某个(接口的)实现,对于内部类都没有影响。如果没有内部类提供的可以继承多个具体的或抽象的类的能力,一些设计与编程问题就很难解决。所以说内部类间接的实现了多继承。

抽象类和接口区别?

抽象类

1:有abstract 修饰的class ,绝对就是抽象类。

2:抽象类中可以有抽象方法,也可以没有抽象方法,但是有抽象方法的class ,就一定会是抽象类。

3:抽象类是不能创建实例对象的。

4:如果有子类继承这个抽象类,则必须要实现父类中的抽象方法,如果不实现的话,则这个字类也必须定义为抽象类。

接口

1:接口只能实现不能够继承,比如,一个类可以实现多个接口,但是只能继承一个父类,也可以这样理解,一个类可以有多个干爹(实现接口),但是只能有一个亲爹(继承父类)。

2:如果要实现这个接口,则该接口中的方法必须要实现。因为我们定义接口中的方法时,系统是默认这些方法是抽象的方法,也就是说这些方法是有public abstract 这个来修饰的。

3: 在接口中定义的变量必须是全局变量的,也就是说有public static final 修饰的

抽象类的意义

抽象类与接口的应用场景

抽象类是否可以没有方法和属性?

泛型中extends 和super 的区别

和是Java 泛型中的“通配符(Wildcards) ”和“边界(Bounds) ”的概念

是指“上界通配符(Upper Bounds Wildcards) ”

是指“下界通配符(Lower Bounds Wildcards) ”

父类的静态方法能否被子类重写?

先给一个答案,不能,父类的静态方法能够被子类继承,但是不能够被子类重写,即使子类中的静态方法与父类中的静态方法完全一样,也是两个完全不同的方法。

重写指的是根据运行时对象的类型来决定调用哪个方法,而不是根据编译时的类型。

相关文档
最新文档