抽象类的基本概念

//理解抽象类:
abstract class Gods{//抽象类名不能被final修饰
    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public abstract void proTeCt();//抽象方法:一个没有具体实现的方法,被abstract修饰
    //private abstract void ha(); //抽象方法不能私有。
    //public static abstract void ha(); //抽象方法不能静态
    protected abstract void Help();
}
//包含抽象方法的类叫做抽象类。
//抽象类不可以被实例化,所以这个抽象类只能被继承。
//抽象类中也可以包含普通类的其他属性和方法。
//一个普通类继承了抽象类,这个普通类必须重写这个抽象类的所有抽象方法。
class East extends Gods{
    @Override
    public void proTeCt(){
        System.out.println("发大财");//普通类重写父类抽象方法必须变成非抽象方法。
    }
    //void Help(){
    //
    //}抽象方法重写时权限只能更加开放
    @Override
    public void Help(){
        System.out.println("健康康");
    }
}//抽象类可以多态
abstract class West extends Gods{
    public abstract void liSten();//抽象子类可以不重写抽象父类的抽象方法
@Override
    public abstract void Help();
}
class Books extends West{//当一个普通类继承了抽象子类,必须重写抽象子类所继承的抽象父类的抽象方法
    @Override
    public void liSten(){
        System.out.println("记录原谅,同时也记录了罪行");
    }
    @Override
    public void proTeCt(){
        System.out.println("升华");//普通类重写父类抽象方法必须变成非抽象方法。
    }
    @Override
    public void Help(){
        System.out.println("健康康");
    }
}
public cass Text{
public static void main(String[] args) {
//理解抽象类:
// Gods gods = new Gods; 抽象类不能直接被实例化
Gods caiShen = new East();//抽象类可以向上转型
        caiShen.Help();
}

总结如下:

一、抽象类——类方:

1、抽象类类名不能被final修饰。

2、抽象子类继承抽象父类后可以不重写抽象父类的抽象方法,该抽象子类再次成为一个普通类的父类后,普通类需要重写抽象父类(原抽象子类)和抽象祖父类(原抽象父类)的所有抽象方法

3、抽象类不能被直接实例化,只能继承。

4、抽象类可以多态

二、抽象类——方法方:

1、抽象类中可以包含其他普通方法和属性。

2、在抽象父类中,抽象方法不能私有、不能静态、不能final

3、普通类继承抽象父类后需要重写父类的所有抽象方法,重写的方法不可以被写为抽象方法、不可以被写为static方法,可以写为final方法,但是权限必须等于或者比原抽象方法更加开放。

4、抽象类继承抽象父类后不需要重写父类的抽象方法,但能做到重写父类的抽象方法。


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值