java期末考试重点

1.简述你对面向对象的三大特征理解(必考)。

面向对象的特点主要可以概括为封装性、继承性和多态性。

其中封装是面向对象核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。

继承性主要描述的是类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展。

多态性指的是在程序中允许出现重名现象,它指在一个类中定义的属性和方法被其它类继承后,它们可以具有不同的数据类型或表现出不同的行为,这使得同一个属性和方法在不同的类中具有不同的语义。

2.简述接口和抽象类的区别。

抽象类:1.包含抽象方法的类必须是是抽象类;

2.声明抽象类和抽象方法时都要使用abstract关键词修饰;

3.抽象方法只需要声明而不需要实现;

4.如果一个非抽象类继承了抽象类之后,那么该类必须重写抽象类中的全部抽象方法。

接口:

1、接口使用interface关键词声明;

2、接口不允许继承抽象类,但是允许接口继承接口,并且一个接口可以同时继承多个接口;

区别:

(1).抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象.

(2).抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。

(3). 继承是一个 “是不是”的关系,而接口实现则是 “有没有”的关系。如果一个类继承了某个抽象类,则子类必定是抽象类的种类,而接口实现则是有没有、具备不具备的关系。

(4).接口只给出方法的声明,不给出方法的实现。抽象类中可以有抽象方法的一般方法。如果是抽象方法的话,只有方法的声明。如果是一般方法的话,既有方法的声明,也有方法的实现。

3.简述集合list、set和map的区别。

(1)List的特点是元素有序、可重复。List接口的主要实现类有ArrayList和LinkedList。

(2)Set的特点是元素无序、不可重复。Set接口的主要实现类有HashSet和TreeSet。

(3)Map的特点是存储的元素是键(Key)、值(Value)映射关系,元素都是成对出现的。Map接口的主要实现类有HashMap和TreeMap。

4.简述一下实现多线程的三种创建方式。

(1)继承java.lang包中的Thread类,重写Thread类的run()方法,在run()方法中实现多线程代码。

(2)实现java.lang.Runnable接口,在run()方法中实现多线程代码。

(3)实现java.util.concurrent.Vallable接口,重写call()方法,并使用Future接口获取call()方法返回的结果。

5.请描述一下实现Runable接口创建并启动的步骤

(1)定义Runnable接口的实现类,重写该接口的run()方法;

(2)创建Runnable实现类的实例并作为参数传入;
(3)调用线程对象的start()方法来启动该线程。

6.简述什么是运行时异常和编译时异常,两种异常的特点。

(1)编译时异常:在实际开发过程中,经常会在程序编译时产生异常,这些异常必须进行处理,否则程序无法正常运行。 特点:不处理,程序就不能编译通过。

(2)运行时异常:在程序运行时产生,即使不编写异常处理代码,依然可以通过编译。特点:JAVA编译器不会对异常进行检查。

7.简述JDBC语句之间数据库的六个基本步骤(简答/填空)。

(1)加载并注册数据库驱动(2)建立连接,获取连接对象(3)获取Statement对象(4)执行SQL语句(5)操作结果集(6)关闭连接,释放资源。

8.简述Iterator遍历集合时的步骤

通过调用集合的iterator()方法获取Iterator对象,然后使用while循环和hasNext()方法判断是否还有下一个元素,使用next()方法获取下一个元素,对获取到的元素进行处理或者操作。重复执行步骤,直到遍历完所有元素。

9.描述一下匿名内部类   +选择

匿名内部类是Java中一种没有名字的类,它通常在需要时直接在代码中创建,用于实现某个功能或接口。它们通常包含一个或多个静态方法,以及可能的其他实例方法。匿名内部类可以提高代码的可读性和简洁性,尤其适用于较小的、一次性使用的功能实现。

10.泛型接口创建方式

//泛型接口的创建方式与泛型类类似,可以在接口名称后面添加尖括号,并指定泛型类型参数,泛型参数可以是任意标识符,通常使用大写字母开头的单词来表示。

(1)定义泛型接口:使用尖括号<>标识泛型类型,其中尖括号内表示泛型参数。

(2)实现泛型接口:在类或结构体中,使用泛型参数实现泛型接口。

(3)创建泛型类型:使用泛型类型参数创建泛型类型。

(4)使用泛型类型:在代码中使用泛型类型时,需要为泛型类型参数提供具体类型。

11.线程安全是指什么,解决方法。

线程安全问题其实就是由多个线程同时处理共享资源所导致的。

解决方案:(1)为了实现多个线程处理同一个资源,在Java中提供了同步机制。当多个线程使用同一个共享资源时,可以将处理共享资源的代码放在一个使用synchronized关键字修饰的代码块中,这个代码块被称作同步代码块。(2)除了修饰代码块,synchronized关键字同样可以修饰方法,被synchronized关键字修饰的方法为同步方法。同步方法和同步代码块一样,同一时刻,只允许一个线程调用同步方法。

12.string类的equals()方法和==的区别。

String类的equals()方法用于比较两个字符串的内容是否相等,而"=="用于比较两个字符串对象在内存中的引用是否相等。

13.访问控制权限有哪几种?

public:公共访问权限

private:私有访问权限

protected:受保护的访问权限

default:默认访问权限

14.构造方法描述:构造方法时一个特殊的成员方法

(1)构造方法的名称必须和类名一致

(2)构造方法名称前不能有任何返回值类型声明(3)不能在构造方法中使用return返回一个值。

15.关于继承的描述?

类的继承是指在一个现有类的基础上构建一个新的类,构建的新类被称作子类,现有类被称作父类。子类会自动继承父类的属性和方法,使得子类具有父类的特征和行为。如果想声明一个类继承另一个类,需要使用extends关键字。

16.重写但不希望被重写的关键字:final关键字

17.(Throwable)类是所有异常类的父类

18.如何获取全部的构造方法(填空)

要获取类的构造方法,可以使用Class类的getConstructors()方法。

19.反射中通过什么方法获取构造方法的修饰符?

需要调用java.lang.reflect包中Modifier类的toString()方法。

20.通过反射可以得到一个类的完整结构,包括类的方法类的属性类的构造方法

  • 33
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值