2021-12-27 Java abstract关键字用于修饰类和方法介绍和实例测试

一、抽象(abstract)的使用

      当父类的某些方法不确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]。

  我们都知道,父类是将子类所共同拥有的属性和方法进行抽取,这些属性和方法中,有的是已经明确实现了的,有的还无法确定,那么我们就可以将其定义成抽象,在后日子类进行重用,进行具体化。这样,抽象类也就诞生了。

二、定义和用法

      abstract关键字是不可访问的修饰符,用于类和方法。 类:抽象类是一个受限制的类,不能用于创建对象(要访问它,它必须从另一个类继承)。 方法:抽象方法只能在抽象类中使用,并且方法没有实现。方法实现由子类提供(从继承)。

三、抽象类和抽象方法有以下特点:

      1、用abstract修饰的类,即抽象类;用abstract修饰的方法,即抽象方法。

      2、抽象方法不能有方法主体。格式如下:

      abstract void onUEvent();
      3、抽象类不能被实例化。因为抽象类中方法未具体化,这是一种不完整的类,所以直接实例化也就没有意义了。

      4、抽象类中不一定要包含abstrace方法。也就是了,抽象中可以没有abstract方法。

      5、一旦类中包含了abstract方法,那类该类必须声明为abstract类,且该类不能用来创建对象。

      6、如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。

      7、抽象类可以提供成员方法的实现细节,抽象类中的成员变量可以是各种类型的;

      8、抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。

      9、设计层面不同,抽象类作为很多子类的父类,它是一种模板式设计。

四、测试代码

      1、java 源码

package com.giada.lib;


public class MyClass {
    public static void main(String[] args) {
        Cat myCat = new Cat(); // 创建一个Cat对象
        myCat.eat();
        myCat.catchMouse();
    }
}
abstract class Animal
{
    abstract void eat();
}

class Cat extends Animal
{
    public void eat()
    {
        System.out.println("eat fish");
    }
    public void catchMouse()
    {
        System.out.println("catch Mouse");
    }
}

       2、运行效果如下

五、参考文章

Java abstract 关键字(keyword)-CJavaPy

java中的abstract关键字解析_MarkZP-CSDN博客_java的abstract关键字

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值