现场笔试篇1

中国通号,是一家北京的国有企业,也是秋招投递的第一站。现场给了一份JAVA试卷让做,内容比较简单,两道概念题,一道编程题。

1.Java中,什么是构造方法?什么是构造方法重载?什么是复制构造方法?

(1)构造方法就是与类名相同的方法,每一个类都有默认的构造方法。用于在创建类对象时进行对象的初始化。

(2)构造方法重载与普通方法重载一样,是指同一个类中可以存在多个方法名相同,但是参数个数或类型不同的方法。

PS:方法重载(overload)与方法重写(overwrite)不一样。方法重写存在与继承关系中。

(3)复制构造方法又称为拷贝构造方法,事实上,java并不会像C++一样支持构造方法复制。

2.说一下final关键字的作用

final关键字既可以用来修饰引用,方法,也可以用来修饰类。

(1)当final关键字用来修饰引用的时候,如果是基本数据类型,则一旦被修饰,就必须对其进行赋值,且赋值后该值不会被修改。

final int age; //未赋值会报错
final int age=10;
final int i=10;
i=8; //二次赋值会报错

(2)当final关键字用来修饰方法时,该方法即成为最终方法。当存在与继承关系中,只能被子类继承而不能重写。

class Person{
    
    public final void say(){
        System.out.println("这是父类方法");
     }

}

class Student extends Person{
    
    public void say(){
        System.out.println("这是子类方法");
     }

}

(3)当final关键字用来修饰类时,该类成为最终类,不能被继承,也称为断子绝孙类。常见的final类就是String.

手撕编程题

题目描述:给定一个整数数组num和目标值target,若该数组中有两个数的和等于该目标值,则输出这两个整数,及其数组下标。

要求:

(1)输出所有的可能,每组单独占一行。

(2)相同的数只出现一次。如(1,3)与(3,1)算一个。

(3)不符合的返回相应的提示信息。

题目分析:

(1)因为不仅要找到该值,还要输出其对应的下标,所以不能对原数组进行排序处理。

(2)保持数组中的每个元素与其索引相互对应===》哈希表

猜你喜欢

转载自www.cnblogs.com/dxtlearningblockchain/p/11483547.html