码迷,mamicode.com
首页 > 编程语言 > 详细

面试之JAVA基础【一】

时间:2017-05-23 10:09:27      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:实现   产生   方法   异常   htable   额外   抽象方法   属性   转换   

---------------------------以下均是平常刷面试题后的总结-----------------------------

1,abstract可以修饰什么?为什么不能修饰属性

--abstract是抽象的意思,在java中,规定只能修饰类或者方法,所以不能修饰属性。
(1)abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型(见后面实例),也就是编译时类型。抽象类就相当于一类的半成品,需要子类继承并覆盖其中的抽象方法。
(2)abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明而没有实现,需要子类继承实现(覆盖)。

2,abstract为什么不能修饰字段?

--abstract不能修饰字段.既然是抽象方法,当然是没有实现的方法,根本就没有body部分.

3,申明抽象方法为啥不可写大括号?

--因为是抽象的,所以只能在其他继承的类中实现,所以只以分号结束就行了

4,实例方法可以直接调用什么类的类方法?

--实例方法可以直接调用本类的类方法
  1. 1、类方法是属于整个类,而不属于某个对象。  
  2. 2、类方法只能访问类成员变量,不能访问实例变量,而实例方法可以访问类成员变量和实例变量。  
  3. 3、类方法的调用可以通过类名.类方法和对象.类方法,而实例方法只能通过对象.实例方法访问。  
  4. 4、类方法只能访问类方法,而实例方法可以访问类方法和实例方法。  
  5. 5、类方法不能被覆盖,实例方法可以被覆盖。  

 

5,构造方法?特点?

--构造方法就是类构造对象时调用的方法,主要用来实例化对象。特点:与类同名且没有返回值(甚至连void也没有)类型的方法,.主要完成对象的初始化工作,构造方法的调用是在创建一个对象时使用new操作进行的。

6,接口?特点?

-- Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

7,JDBC中,用于表示数据库连接的对象是?

-- Connection:与目标数据库建立jdbc连接;
Statement:向建立连接的数据库发送操作指令并返回操作结果
ResultSet:装载数据库指令执行结果

DriverManager是驱动管理器。

8,一个线程处于运行状态,运行的是哪个方法体中的内容?--run()

--创建Thread类后,在类中重写run()方法,启动线程是用线程对象调用start()方法。

9,下面哪个方法不可以在任何时候被任何线程调用?

 

-- wait()是Object类的方法。其他三个都是线程的方法

10,多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

--多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 
同步的实现方面有两种,分别是synchronized,wait与notify

11, 能够向文件输入逻辑型数据的类是:

-- DataOutputStream

12,栈通常采用的两种存储结构是?

--线性存储结构和链表存储结构

13,final关键字?

-- final关键字可以用来修饰类、方法、变量、参数,不能修饰抽象类和接口

final修饰的变量不允许被再次赋值  final修饰的类无法被继承  final修饰的

变量需要初始化

14,被private修饰的成员变量?

--被private修饰的成员变量只能在本类中使用,其子类不能够访问父类的私有成员变量

15,JDBC中创建SQL语句对象可能产生异常,此异常是

-- SQLException,sql语句书写异常

16,使用static修饰属性或方法后,属性和方法有什么特征?

-- static修饰属性或方法后,属性和方法不在属于某个特定的对象,成为类对象,被所有此类的实例所共享,在类加载时就被初始化。Static修饰的属性或方法,可以直接使用类名调用,而不用先实例化对象再调用。

(static修饰成员属性后,会使成员变量变成全局变量,提供给所有对象共同使用

static修饰成员方法后,该方法为类方法,在类加载的时候就进行初始化,类可以直接调用该方法,而无需创建对象后调用)

17,Ajax应用程序比传统的web应用程序优势?

--  ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。 服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理  页面无刷新,在页面内与服务器通信,给用户的体验非常好。

18,在最坏的情况下,下列排序方法中时间复杂度最小的是()A.冒泡排序 B.快速排序 C.插入排序D.堆排序

--D.堆排序

19,Jdo是什么?

--JDO是Java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。

20,--Java程序经编译后会产生byte code,编译后的class文件是二进制文件,由虚拟机解释运行。

21,直接继承自Collection接口?

        答:List,Set是,Map不是。

如图:

      Collection

  ├List

  │├LinkedList

  │├ArrayList

  │└Vector

  │ └Stack

  └Set

  Map

  ├Hashtable

  ├HashMap

  └WeakHashMap

      Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java JDK不能提供直接继承自Collection的类,Java JDK提供的类都是继承自Collection的"子接口",如:List和Set。

        注意:Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同key,每个key只能映射一个value。Map接口提供3种集合的视图,Map的内容可以被当做一组key集合,一组value集合,或者一组key-value映射。

22,文件读写的基本类?

--FileReader类和FileWriter类,分别继承自Reader和Writer类,FileReader类用于读取文件,FileWriter类用于将数据写入文件,这2个类在使用前,都必须调用其构造方法创建相应的对象,然后调用相应的read()或write()方法。

23,Servlet的生命周期可以分为初始化阶段,运行阶段和销毁阶段三个阶段,属于初始阶段的?

--Servlet的生命周期一般可以用三个方法来表示:

   init():仅执行一次,负责在装载Servlet时初始化Servlet对象

   service() :核心方法,一般HttpServlet中会有get,post两种处理方式。在调用doGet和doPost方法时会构造servletRequest和servletResponse请求和响应对象作为参数。

   destory():在停止并且卸载Servlet时执行,负责释放资源

  初始化阶段:Servlet启动,会读取配置文件中的信息,构造指定的Servlet对象,创建ServletConfig对象,将ServletConfig作为参数来调用init()方法。所以选ACD。B是在调用service方法时才构造的

24,isNaN方法?

--该方法用于检测参数是否为数值型,是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。

25,compareTo(T o) 来源于Comparable接口中的方法

26,数组(Array)和列表集合(ArrayList)的区别:
  Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。
  Array大小是固定的,ArrayList的大小是动态变化的。 
  ArrayList提供了更多的方法和特性,比如:addAll(),removeAll(),iterator()  等等。
  对于基本类型数据,集合使用自动装箱来减少编码工作量。但是,当处理固定大小的基本数据类型的时候,这种方式相对比较慢

27,使用&和 | 的时候如果前边为false后边的表达式也要执行,而&&和||正好相反当&&前边为false,后边的不执行,就不会抛出空指针异常。

28,算法的空间复杂度是指:执行过程中所需要的存储空间

面试之JAVA基础【一】

标签:实现   产生   方法   异常   htable   额外   抽象方法   属性   转换   

原文地址:http://www.cnblogs.com/huxinga/p/6892543.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!