java中的抽象类

目录

一、抽象类的概念

二、抽象类的语法

三、抽象类的特性 

四、抽象类举例 


一、抽象类的概念

在Java中,包含抽象方法的类就叫做抽象类。那么什么是抽象方法呢?我们把没有方法主体的方法叫做抽象方法。

二、抽象类的语法

想必大家看了上述的介绍,肯定对抽象方法和抽象类产生了诸多疑问,接下来我们就来谈一下抽象类具体的语法。

//抽象类:被abstract修饰的类
public abstract class Animal {
    //抽象方法:被abstract修饰的方法
    public abstract void eat();
    public abstract void bark();
    //抽象类也是类,也可以增加普通方法和属性
    public int age;
    public int getAge(){
        return age;
    }
}

由上述我们可以看出:抽象类和抽象方法要用abstract修饰,并且抽象类可以包含普通方法和属性。

三、抽象类的特性 

1. 抽象类不能直接实例化对象

2. 抽象方法不能用 private 修饰

3. 抽象方法不能被final和static修饰,因为抽象方法要被子类重写

4. 抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,否则子类也是抽象类,必须要使用 abstract 修饰  

5. 抽象类中不一定包含抽象方法,但是有抽象方法的类一定是抽象类

6. 抽象类中可以有构造方法,供子类创建对象时,初始化父类的成员变量

四、抽象类举例 

那么抽象类具体在哪种情况下使用呢?

答:当父类中的各子类要完成某一行为,但每个子类的完成方式不同时,我们就可以在父类中把该行为定义为抽象方法,具体的实现交给子类完成,此时,该父类就为抽象类。

举例:猫和狗都是动物,因此可以建立一个叫Animal的父类,子类分别为Dog和Cat,它们都有吃和叫的行为,但因为狗是吃狗粮,猫是吃猫粮,并且狗叫是汪汪汪,猫叫是喵喵喵,所以可以写出如下代码:

//父类
public abstract class Animal {
    public abstract void eat();
    public abstract void bark();
}
//狗类
public class Dog extends Animal{
    public void eat(){
        System.out.println("小狗吃狗粮");
    }
    public void bark(){
        System.out.println("小狗汪汪叫");
    }
}
//猫类
public class Cat extends Animal{
    @Override
    public void eat() {
        System.out.println("小猫吃猫粮");
    }

    @Override
    public void bark() {
        System.out.println("小猫喵喵叫");
    }
}
//
public class Main {
    public static void main(String[] args) {
        Dog dog=new Dog();
        dog.bark();
        dog.eat();
        Cat cat=new Cat();
        cat.bark();
        cat.eat();
    }
}

 运行结果如下:

 以上便是本篇文章的全部内容,感谢各位看官观看,如本篇对你有所帮助,可以点点关注收藏支持一下,感谢支持!!!

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值