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; } }
时间: 2024-10-06 21:49:44