変換:JAVA初期化手順
2683 ワード
package com.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test extends Parent {
private static String str = " 3";
static {
Parent.println(str);
Parent.println(" 4");
}
private String string = " 10";
{
Parent.println(string);
Parent.println(" 11");
}
private boolean result = true;
public Test() {
super();
Parent.println(" 12");
}
public String getSubString() {
return !result ? " 6" : string;
}
public static void main(String[] args) {
System.out.println(" Main ");
new Test();
}
}
class Parent {
static private Pattern pattern = Pattern.compile("(\\D+)(\\d+)");
static private int count = 0;
private static String str = " 1";
static {
Parent.println(str);
Parent.println(" 2");
}
{
Parent.println(getParentString());
Parent.println(getSubString());
}
private String string = " 7";
{
Parent.println(string);
Parent.println(" 8");
}
private boolean result = true;
public Parent() {
super();
Parent.println(" 9");
}
public String getSubString() {
return null;
}
public String getParentString() {
return !result ? " 5" : string;
}
public static void println(String out) {
Matcher matcher = pattern.matcher(out);
if (matcher.find()) {
System.out.println(String.format("%02d、%7s %02d", ++count,
matcher.group(1), Integer.valueOf(matcher.group(2)))
.replaceAll(" ", " "));
}
}
}
出力結果:
01、 親静的プロパティ 0102、 親静的ブロック 0203、 サブクラスの静的プロパティ 0304、 サブクラス静的ブロック 04サブクラスMainメソッド05、親属性デフォルト 0506、サブクラス属性デフォルト 0607、 親属性 0708、 親ブロック 0809、 親コンストラクタ 0910、 サブクラス属性 1011、 サブクラスブロック 1112、 サブクラスコンストラクタ 12