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();
}
}