首页 > 代码库 > 笔试部分技术1

笔试部分技术1

1.父类以及子类间调用关系

  子类继承父类,其先后调用顺序为:父类静态代码块>>子类静态代码块>>父类普通代码块>>父类构造方法>>子类普通代码块>>子类构造方法。静态代码块优先级最高,其余同类型父类优先级高于子类优先级,普通代码块优先级高于构造方法。

  代码示例:

public class SonClass extends SuperClass {
    static {
        System.out.println("子类静态代码块");
    }
    {
        System.out.println("子类普通代码块");
    }
    SonClass() {
        System.out.println("子类构造方法");
    }
    static void ThisStatic() {
        System.out.println("子类静态方法");
    }
    public static void main(String[] args) {
        new SonClass();
    }
}

class SuperClass {
    static {
        System.out.println("父类静态代码块");
    }
    {
        System.out.println("父类普通代码块");
    }
    SuperClass() {
        System.out.println("父类构造方法");
    }
    static void SuperStatic() {
        System.out.println("父类静态方法");
    }
}

  结果展示:

父类静态代码块
子类静态代码块
父类普通代码块
父类构造方法
子类普通代码块
子类构造方法

2.查找子字符串

  查询出在长字符串中是否包含子字符串,如果是则返回第一次出现此子字符串的下标位置,否则返回-1.

public class GetSonString {
    public static void main(String[] args) {
        String subStr = "qwer";
        String str = "qfdqwbfbfqwevfsqwervfvf";
        int index = getSubString(subStr, str);
        System.out.println(index);
    }
    private static int getSubString(String subStr, String str) {
        char[] strArr = str.toCharArray();
        char[] subStrArr = subStr.toCharArray();
        for(int i=0;i<strArr.length-subStrArr.length;i++){
            for(int j=0;j<subStrArr.length;j++){
                if(subStrArr[j] != strArr[i+j]){
                    break;
                }
                if(j == subStrArr.length-1){
                    return i;
                }
            }
        }
        return -1;
    }
}

 

  

笔试部分技术1