Java基础知识及面试题.docx

上传人:b****3 文档编号:1924783 上传时间:2022-10-25 格式:DOCX 页数:26 大小:347.95KB
下载 相关 举报
Java基础知识及面试题.docx_第1页
第1页 / 共26页
Java基础知识及面试题.docx_第2页
第2页 / 共26页
Java基础知识及面试题.docx_第3页
第3页 / 共26页
Java基础知识及面试题.docx_第4页
第4页 / 共26页
Java基础知识及面试题.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

Java基础知识及面试题.docx

《Java基础知识及面试题.docx》由会员分享,可在线阅读,更多相关《Java基础知识及面试题.docx(26页珍藏版)》请在冰豆网上搜索。

Java基础知识及面试题.docx

Java基础知识及面试题

Java基本

1.什么是类?

类是某一种事物普通性集合体,是相似或相似各个事物共同特性一种抽象。

2.什么是对象?

在面向对象概念中,对象是类实例。

对象与类关系就像变量与数据类型关系同样。

3.类核心特性

封装性:

类封装性为类成员提供公有、缺省、保护、私有等多级访问权限。

目是隐藏类中私有变量和类中办法实现细节。

继承性:

类继承性提供从已存在类创立新类机制,继承使一种新类自动拥有被继承类所有可继承成员。

多态性:

类多态性提供类中办法执行多样性,有两种体现形式:

重载和覆盖。

4.办法:

对象中办法表达了对象所具备行为。

5.属性:

一种对象属性是可以被外界或对象所处环境所感知或操纵数据或状态。

6.什么是Java?

Java是一门易于编程跨平台编程语言,同步又是一种开发、应用、执行和布置平台。

7.为什么要有Java?

Java与平台无关、一次编译处处运营、以及她易于编程特性。

8.Java开发程序环节?

编写源代码

(2)编译(3)执行

9.Java环境变量

1)JAVA–HOMEjdk安装途径

2)CLASSPATHjvm转载class字节码文献时搜索途径

3)PATH是系统环境变量、命令搜索途径

10.JVM:

JavaVirtualMachine是一种逻辑操作系统、它屏蔽了硬件和平台信息、jvm能将字节码文献解释并执行、正是这种独立执行方式是Java具备与平台无关特性。

11.类加载过程:

类加载器加载字节码文献到内存、jvm内存数据区将对象状态放置在堆区、各线程使用变量放在栈区、类特性放在办法区、然后进行字节码验证再执行。

12.惯用Java命令:

Javac、java、javadoc、jar

13.类语法与规范

一种源文献只能有一种public类

Public源文献可以有各种类定义

源文献名必要与public类名保持一致

包名必要放在第一行

包名可以有0个或1个但不能有各种

源文献如果带包话最佳存储在包构造相应目录下

标记符程序语言用于标记变量名类名办法名字符串就是标记符。

标记符必要字母下划线美元符开头大小写敏感。

类名规定首字母大写

办法名首字母小写每个单词首字母大写

常量名所有字母大写如果有两个或几种字母联合用下划线连接

核心字:

程序语言中、程序已经所有顾客不能再使用单词普通核心字都是小写

14.数据类型:

基本数据类型:

整型(byte、short、int、long)默认是int

浮点型(float、double)、默认是double

布尔型(boolean)、

字符型(char)

引用类型:

类、接口、数组

15.main()办法执行过程

1)先到办法区搜索student、如果搜索不到则去加载student字节码文献

2)通过classpath查找相应student字节码文献找不到就返回错误(ClassNotFound)

3)将字节码文献二进制数据转换为class对象放置于办法区(class对象描述了student类办法特性及静态成员等)加载完毕

4)验证字节码文献

5)在堆区中划分空间放置student对象

6)在栈区放置应用类型变量stu、stu指向student对象地址

7)student对象存储了class对象地址

8)通过studentstu引用类型变量值找到student对象、通过student对象

存储class对象地址找到相应study()办法然后执行。

9)释放资源jvm运营结束

16.基本类型和引用类型区别

引用类型存储是对象地址、基本类型存储是变量实际值

引用类型变量可用指向复杂数据构造

引用类型变量可使用“.”操作来访问它所指向办法或属性

17.表达式

运算符和操作数按照一定规则构成语句.

赋值运算符“=”

比较运算符“<”“>”“<=”“>=”

相等运算符“==”

位运算符~:

取反、^:

异或、|:

或、&:

逻辑运算符“&&”“||”

条件运算符a?

b:

c

18.变量作用域

(1)类成员变量:

静态成员变量:

生命周期从类加载开始到类被卸载结束初始化后被放在办法区

实例成员变量:

变量初始化放在堆区、生命周期从生成对象开始到对象被回收时结束

(2)局部变量:

办法或代码块中定义变量、局部变量从栈区弹出结束、局部变量在使用前必要初始化

(3)办法参数

(4)异常参数

19.数组:

是相似类型元素线性集合是一种指向数组引用对象

20.集合框架

Iterator是一种迭代器接口

ListIterator继承自Iterator是子接口只能用于list接口

Collection是集合框架顶层接口

List有序可重复

ArrayList实现了可变数组数据构造

LinkedList实现了双向链表数据构造

Set无序不可重复

HashSet实现了无序不可重复

LinkedHashSet有序不可重复(插入顺序)

TreeSet升序不可重复

Map是一种key、value对映射

HashMap按照key无序

LinkedHashMap按照key有序

TreeMap按照key升序

Collections是集合框架辅助类(工具类)里边所有办法都是static

Arrays是对数组工具类

Comparable、Comparator是做比较排序

21.Vector和ArrayList区别:

1)Vector是线程安全(同步)ArrayList不是ArrayList效率高某些

2)当时始容量满时候Vector增长本来一倍、ArrayList增长本来一半

22.HashTable和HashMap区别:

1)HashTable是线程安全HashMap不是HashMap效率会高某些

2)HashMap容许nullkey存在HashTable不容许

23.Setset=Map.keySet();

Iteratorit=set.iterator();

While(it.hasnext()){

}

24.类构造

类名、属性名(静态属性、实例属性)、办法(静态办法、实例办法)、构造器(缺省构造器、带参构造器)

静态代码块static、实例代码块this.

25.参数传递

对于基本类型将实际变量值原样赋值以便传值

对于引用类型将引用类型变量地址赋值给实参

26.this核心字都在什么地方使用

1)实例变量与局部变量同名用this区别实例变量名与局部变量名

2)在构造器重载时、用this调用其他构造器

3)在实例办法中用来当作当前对象引用传给其他办法

27.办法重载

办法名要相似、在同一类中各种办法有不同办法签名办法签名具备参数类型参数个数和参数顺序、返回类型不做规定

28.类初始化过程

1)在堆区别配空间new过程

2)给对象属性赋默认值

3)调用构造办法进一步赋值

29.构造器

类中提供用于初始化对象特殊办法、这个办法于类同名无返回值、类中没有提供构造器jvm会提供一种不带参缺省构造器、类中有带参构造器jvm就不提供了

30.详细阐明封装、继承、和多态

封装:

将类实现细节隐藏起来、对外提供一致接口、提高系统维护性

继承:

定义:

一种类自动获得另一种类属性或者办法过程

使用方面:

extends核心字、单根继承、所有类都是Object类子类、构造器不能被继承、子类初始化时会默认状况下调用父类缺省构造器、子类调用父类带参构造器则父类可以不提供缺省构造器否则一定要有个缺省构造器

如何使用继承?

1)区别has-a和is-a

2)子类要扩充父类功能

3)子类需要大量置换父类功能时不能使用继承

4)不要从工具类中继承

优缺陷:

长处:

继承是最容易复用代码形式、修改父类功能时子类可以自动获得新功能

缺陷:

打破了封装、只是类型复用

多态:

编译时编译器检查声明类型和办法信息

运营时jvm对实例办法和引用变量和实际引用对象动态绑定,对静态办法和引用变量声明类型静态绑定

类属性在编译阶段绑定

31.instanceof:

判断实例与否为某个类型或子类型

(1)只能在父子类进行比较

(2)Null可以进行比较成果为false

(3)判断实例类型时,普通从子类开始,然后父类

32.override:

办法覆盖。

子类重写父类中办法

子类重写父类中办法条件:

(1)办法名相似

(2)办法签名相似(参数)

(3)返回值相似

(4)子类修饰符要不不大于等于父类修饰符

(5)子类抛出异常要不大于等于父类抛出异常

33.依赖关系

(1)一种类中办法,其局部变量类型是另一种类,则这两个类具备依赖关系

(2)一种类中办法调用另一种类中静态办法,则这两个类具备依赖关系

(3)一种类中办法中参数是另一种类静态办法,则这两个类具备依赖关系

34.多态运营机制

(1)在类编译阶段,编译器会检查类型与否匹配

(2)在运营阶段,jvm会调用实例相应办法,先检查父类办法,然后检查子类办法,然后会检查实例声明类型

35.Super

调用父类属性和办法、子类和父类有同名办法时,子类可用super区别是父类办法

36.final

(1)final修饰类不能被继承

(2)final修饰办法不能被覆盖

(3)final修饰变量是常量,常量不可修改但有例外

实例常量:

若定义时没有赋值,则可以在构造器或实例代码块中赋值,构造器或者代码块赋值只能有一种

静态常量:

若定义时没有赋值,则可以在静态代码块中赋值,

37.抽象类

具备某些实现类。

使用时注意事项:

(1)不能实例化

(2)可有0到各种抽象办法

(3)可有构造器

(4)详细类继承抽象类时必要实现所有抽象办法

(5)抽象类可以间接被子类调用其构造器,并在内存中分派空间,间接实例化

(6)抽象类可以有静态办法,可以返回其子类实例

如何使用抽象类?

(1)把各个类中可以共用办法和逻辑放到抽象父类中,越多越好

(2)属性应尽量放到子类中

38.接口

定义:

从宏观角度说是一种规范,从面向对象角度说,接口是一种抽象类型

(1)属性是常量,一定要赋值

(2)办法是抽象办法

(3)没有构造器

(4)接口支持casting(强制类型转换)

(5)接口可以继承自各种接口

(6)实现接口类必要要实现所有办法,如果是抽象类可以选取实现某些办法

为什么要使用接口?

(1)可插拔性保证,可以随意更换接口实现类

(2)接口可以解决多继承问题

(3)接口使规范制定者、实现者、使用者分开

39.接口和抽象类区别

(1)接口没有任何实现,而抽象类可以有某些实现也可以没有

(2)如果需要复用或者共享代码,应当用抽象类而不是接口

(3)继承无法解决类型转换问题,接口是为解决这问题而产生

40.访问控制

作用域当前类同一package子孙类其她package

public√√√√

protected√√√×

default√√××

private√×××

41.static修饰符

(1)可以修饰属性,称为静态属性,全类公有常叫做类变量,和详细对象无关,无多态,类名去访问,类加载时候初始化

(2)修饰办法,静态办法中只能访问静态成员,非静态办法可以访问静态成员,工具类对象都是static

(3)修饰代码块,初始代码块是在类中,而不在任何办法之内代码块,被static修饰代码块称为

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1