用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

抽象类的实现与继承

2015-07-19 作者: 锋客举报

[java]代码库

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


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...