【面试常考】Java抽象类详解,一次阅读,包您满意

1.抽象类的概念

(1)抽象类的定义🐨

💖很多具有相同特征和行为的类可以抽象出来一个抽血类
💕被abstract关键字修饰的类叫做抽象类,被abstract修饰的方法叫抽象方法。
❤️什么是抽象方法:只有声明,没有具体实现例如:void init();【没有{}】

(2)抽象类的作用🐋

将很多类都存在的相同行为或特征的类抽象处理为一个类,不必在父类实现,根据不同的需求,使用不同的子类继承,提高代码灵活性。

🐲有人在这里可能就会问了:那普通类,普通方法不也能被继承被重写,为啥非得用抽象类呢?
🦄这里呢,抽象类就更像一层保险和提示。举个例子,如果一个普通类继承他的父类时忘了重写父类的某方法,那么它调用该方法时一定时调用父类的,此结果大概率不是你想要的,你就需要花费时间去排错,因为编译器是不会有提示的。但是抽象类就不一样的,抽象方法只有声明没有实现,你不重写就调用是一定会报错的!🐲

(3)抽象类的六点注意事项🐡

1.🐻抽象类不能被实例化
2.🐣抽象类,抽象方法不能被static,private,final关键字修饰
3.🦖抽象类可以有非抽象的方法和一般属性,但有抽象方法的类一定要定义未抽象类
4.🐲抽象类可以被继承,非抽象类继承时,子类必须重写该抽象类的所有抽象方法
5.🐠抽象类可有构造方法
6.🙉抽象类可以继承抽象类,这时就不硬性要求子类重写所有抽象方法了

2.抽象类的演示

public class AbstractDemo {
    public static void main(String[] args) {
        Fish fish=new Fish();
        fish.demo();
        fish.test();

    }
}

abstract class Animal{
    public int num=10;//抽象类可以有一般属性
    Animal(){//抽象类可以有构造方法
        System.out.println("我是Animal抽象类的构造方法");
    }
    void demo(){//抽象类可以有普通方法
        System.out.println("我是Animal抽象类的普通方法");
    }
    abstract void test();
}

class Fish extends Animal {

    @Override//这个是重写的注解,代表该方法是重写的
    void test() {
        System.out.println("我是Animal中抽象方法test的重写");
    }
}

结果:
在这里插入图片描述

那么今天的内容就分享到这里,感谢阅读!🐣🐣🐣🐣🐣🐣

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值