Java面试题----Java基础部分

1.    面向对象的特征有哪些方面

分装:把数据和方法包装起来,对数据的访问只能通过已经定义的接口。

继承:子类继承父类的某些数据类型或者方法,并对这些方法进行重写或者直接调用。

多态:允许不同子类的对象对同一消息做出不同的相应。用同样的对象引用调用同样的方法做了不同的事情。

2.    访问修饰符

Private>default>protected>public

3.    构造器,constructor不能被继承,不能被重写,但可以被重载。

4.    两个对象值相同,所以他们的hash code也应该相同。但是如果hashcode相同,他们的值不一定相同。

5.    抽象类和接口都不能够实例化,但是可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口,则必须对抽象方法全部进行实现。否则该类仍然会被申明为抽象类。接口中的成员全部是public的,接口中的成员变量基本上都是常量。抽象类和接口中都可以包含静态成员变量。

6.    抽象方法不是静态的也不是本地方法,更不能用synchronized修饰。

7.    接口可以继承接口,抽象类可以实现接口。

8.    Anonymous Inner Class匿名内部类,可以继承或实现其他接口,在swing编程中常用此方法实现事件监听和回调。

匿名内部类,不能定义任何静态成员,方法。方法不能是抽象的,必须实现接口或抽象父类的所有抽象方法,不能定义构造器,访问外部类成员变量或成员方法必须用static修饰,内部类可以访问外部类私有变量和方法。

9.    数据类型之间的转换:字符串类型转换为基本数据类型,调用valueof(String).

基本数据类型转换为字符串类型,调用ValueOf()方法。

10.  字符串反转,调用reverse();;;;

11.  运行时异常算术异常,类型转换异常,非法参数异常,下标越界异常,空指针异常,安全异常。

12.  Lis:t:以特定的缩影存取元素,可以有重复元素,Set不能存放重复元素,map存放键值对,映射关系可以是一对一或者多对一。Set和Map都有基于hash的存储实现。

13.  进程:有一定独立功能的程序关于某个数据集合上的一次运行活动,是操作系统进行资源分配和调度的一个独立单位。线程:进程的具体实体,是cup调度和分配的基本单位,是比进程更小的独立运行的基本单位。线程的划分尺度小于进程。使得多线程程序的并发性高,进程在执行时通常拥有独立的内存单元,而线程之间可以共享内存,使用多线程的编程通常能带来更好的性能和用户体验。

14.  JDBC操作数据库的步骤:加载驱动,创建连接,创建语句,执行语句,处理结果,关闭资源。

15.  数据库编程时:连接池,用来存放连接,由于每次建立连接都需要大量的开销,特别是当数据服务器不在本地时,造成的开销不可忽略,所以,可以事先将若干连接置于连接池中,需要时直接从连接池获取。结束时归还连接池而不用关闭连接。

16.  Java中不仅有正则表达式操作方法,而且还有pattern表示正则表达式对象。提供了丰富的API进行各种正则式小左。

17.  六原则一法则:单一职责原则,开闭原则:对扩展开放,对修改关闭,依赖倒转原则:面向接口编程。里氏替换原则。任何时候都可以用子类型替换父类型。接口隔离原则,接口要小而专而不是大而全。聚合复用原则:,迪米特法则,一个对象应该对其他对象尽可能少的了解。

18.  常用设计模式:

Ø  工厂模式:工厂类可以根据条件生成不同的子类实例,这些子类有一个公共的抽象父类并且实现了相同的方法,但这些方法对不同的数据进行了不同的操作,当得到子类的实例以后,可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。

Ø  代理模式:给一个对象提供一个代理对象,并由代理对象控制原对象的引用,实际开发中,按照使用目的的不同,代理可以分为远程代理,虚拟代理,保护代理,防火墙代理,同步化代理。

Ø  适配器代理:把一个类的接口变换成客户端所期待的另一种接口,从而使得原本因接口不匹配而无法在一起使用的类能够一起工作。

Ø  模板方法模式:提供一个抽象类,将其部分逻辑以具体方法或构造器的形式实现,然后声明一些抽象方法来破事子类实现剩余的逻辑。不同子类可以以不同的方式实现这些抽象方法,从而实现不同的逻辑业务。


猜你喜欢

转载自blog.csdn.net/mr_ming_/article/details/79721266