/* 构造方法不能被子类继承,但创建子类时,父类的构造方法要调用一次。默认情况下调用无参数的构造方法。 如果父类没有无参数的构造方法,子类不允许被继承,解决办法: 1. 在父类重载一个无参数的构造方法 2. 在子类手动调用一次父类的构造方法。Super("sdf"); 使用super调用构造函数的语句必须是子类构造函数的第一家句。 abstract抽象 抽象类定义抽象方法,抽象方法必须被重写。 有抽象方法的类必须被定义为抽象类。 抽象类不能被实例化,不能产生对象。 */ /* * 枚举 */ public enum E { A, B, C, D } public static void main(String[] args) { E e = E.A; System.out.println(e); } /* * 反射 */ public static void main(String[] args) { try { F f = (F) Class.forName("F").newInstance(); f.m(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public class F { public void m() { System.out.println("---m---"); } } /* * Properties */ public void t() { Properties p = new Properties(); try { p.load(this.getClass().getClassLoader().getResourceAsStream( "t.properties")); System.out.println(p.get("key")); } catch (IOException e) { e.printStackTrace(); } }