• 抽象类的实现与继承


    package AbstractClassAndInterface;
    /**
     *  
     * @author 锋客
     * 内容:
     * 1.抽象类的定义与创建
     * 2.抽象类中的方法:抽象方法,普通方法;但是,抽象方法只能是protected和public修饰
     *   当抽象方法没有修饰时,采用public
     * 3.抽象类中的属性或者是变量:可以使任意范围
     * 4.抽象类不能用于创建对象
     *
     */
    //abstract修饰的类,为抽象类
    public  abstract class AbstractClass {
     private String a="private";
     public String b="public";
     protected String c="protected";
     String d="null";
     final String e="final";
     static String f="static";
     
     //抽象类的方法问题
     //抽象方法不能实现
     public abstract void setPublicMethod();
     //如果为private,则不能被子类继承,子类便无法实现该方法
     //private abstract void setPrivateMethod();
     //protected可以修饰
     protected abstract void setprotectedMethod();
     //默认情况下是public
     abstract void setNoMethod();
     //也可以使用非抽象的方法
     public void setNotAbstractMethod(){
      
     }
    }

    //Test1继承抽象类AbstractClass,必须实现其所有的抽象方法;
    class Test1 extends AbstractClass{

     @Override
     public void setPublicMethod() {
      // TODO Auto-generated method stub
      
     }

     @Override
     protected void setprotectedMethod() {
      // TODO Auto-generated method stub
      
     }

     @Override
     void setNoMethod() {
      // TODO Auto-generated method stub
      
     }
    }

    //如果只是实现父类(抽象类)的部分抽象方法,子类也必须写成抽象类
    abstract class Test2 extends AbstractClass{

     @Override
     public void setPublicMethod() {
      // TODO Auto-generated method stub
      
     }

     @Override
     protected void setprotectedMethod() {
      // TODO Auto-generated method stub
      
     }
    }

     class Test{
     public static void main(String[] args) {
      //不能创建对象
      //AbstractClass abstractClass=new AbstractClass();
         //但可以这样使用:
      AbstractClass abstractClass=new AbstractClass() {
       
       @Override
       protected void setprotectedMethod() {
        // TODO Auto-generated method stub
        
       }
       
       @Override
       public void setPublicMethod() {
        // TODO Auto-generated method stub
        
       }
       
       @Override
       void setNoMethod() {
        // TODO Auto-generated method stub
        
       }
      };
      
      
      
     }
    }

  • 相关阅读:
    学号20155308 2016-2017-2 《Java程序设计》第6周学习总结
    学号20155308 2016-2017-2 《Java程序设计》第5周学习总结
    # 学号20155308 2006-2007-2 《Java程序设计》第4周学习总结
    学号20155308 2006-2007-2 《Java程序设计》第3周学习总结
    第二周作业--20155308郝文菲
    20155308郝文菲
    20155308郝文菲--第三次作业
    郝文菲get技能的经验--20155308
    第一篇博客
    20155302杨效宸第三次随笔
  • 原文地址:https://www.cnblogs.com/fengke/p/4916078.html
Copyright © 2020-2023  润新知