抽象类非抽象类及继承重写问题测试体会、实例化抽象类的方法!

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

 


你可能感兴趣的:(抽象类非抽象类及继承重写问题测试体会、实例化抽象类的方法!)