package j2se.basicKnowledge.exercises; public class NotAbstractClass { public NotAbstractClass(String s){ print(); }; private static void print(){ System.out.print("aaaaa"); } }
package j2se.basicKnowledge.exercises; /*‘抽象类’【不一定】要有‘抽象方法’*/ public abstract class AbstractClass extends NotAbstractClass { public AbstractClass(){ super(new String("aaa")); } /*关于重写: * 1.‘private’的方法也是可以继承重写的 * 2.‘static’的方法也是可以继承重写的 * 3.重写要点: * 1)方法名必须相同 * 2)方法的参数个数及类型必须相同 * 3)访问修饰符权限不能低于父类的 * */ private void print(){ NotAbstractClass nac = new NotAbstractClass("aaaa"); //System.out.println(nac.print());//父类的私有方法,即使在子类中也不能调用,只有自身类中才能用 } //说明'抽象类'【不能】继承'非抽象类'--即实体类 //public void print1(); public static void main(String[] args) throws Exception{ //new AbstractClass();//★★★抽象类不可用new实例化 //★★★★★但是可以通过反射实例化 AbstractClass ac = AbstractClass.class.newInstance(); } }