abstract可以修饰类和方法。

abstract修饰类时,该类不能手动创建对象(JVM可以创建抽象类的对象),但是可以声明抽象类型的引用。如下所示:

public class TestAbstract1{

public static void main(String[] args){

//Animal a=new Animal(); //error

Animal a=null;

a=new Dog();

}

}

abstract class Animal{

}

class Dog extends Animal{

}

abstract修饰方法时,有方法名的定义,但没有具体实现,也就是说只是定义了一个方法能够实现什么功能,但没有说具体怎样做。这样做的好处就是允许方法的定义和实现分开。抽象方法的定义如下所示:

抽象方法的好处是允许方法的定义和实现分开。

abstract class Animal{

public abstract void eat();

}

抽象类与抽象方法的关系是:有抽象方法的类一定是抽象类,抽象类却不一定有抽象方法。

抽象类是用来继承的,一个类继承了抽象类,则必须实现该抽象类中的所有的抽象方法,否则该类也是抽象类。如下所示:

abstract class Animal{

public void run(){}   //该方法不是抽象方法

public abstract void sleep();

public abstract void eat();

}

class Dog extends Animal{

public void sleep(){

System.out.println("Dog sleep.");

}

public void eat(){

System.out.println("Dog eat.");

}

}

abstract class Cat extends Animal{

public void eat(){

System.out.println("Cat eat.");

}

}

可以声明父类类型子类对象,利用多态调用抽象方法,如下所示:

public class TestAbstract1{

public static void main(String[] args){

Animal a=null;

a=new Dog();

a.sleep();

a.eat();

}

}

抽象类也有抽象方法,有父类的,遵循单继承规律:

class E{}

abstract class Animal extends E{

public Animal(){

super();

}

}

abstract修饰的类和方法应该是开放的,可以被继承的,所以它不能和修饰符final、private以及static连用。

java中abstract是什么_JAVA中的abstract的介绍相关推荐

  1. java中抽象类继承抽象类_Java中的抽象类用示例解释

    java中抽象类继承抽象类 Abstract classes are classes declared with abstract. They can be subclassed or extende ...

  2. java中抽象类的定义_Java中抽象类的定义和使用

    Java虽然比较简单,但是细节的知识点还是很多的,现在,介绍一下抽象类的定义和实现基础.指的是在类中定义方法,而不去实现它,而在它的子类中去具体实现,继承抽象类的子类必须实现父类的抽象方法,除非子类是 ...

  3. java中extends怎么用_Java 中extends與implements使用方法

    初學Java語言, 代碼中的extends和implements讓我感到很迷惑,現在終於弄明白它們之間的區別和用法了. //定義一個Runner接口 public inerface Runner { ...

  4. java抽象类有什么用_java中抽象类的作用是什么?抽象类作用的例子

    你知道java当中抽象类的作用是什么吗?有什么作用?下面和小编一起来详细的了解一下具体的作用,以及看看抽象类作用的例子吧! 一.java抽象类的作用 java抽象类的作用具体的可以分成以下的三点: 1 ...

  5. java中什么是空指针异常_JAVA中的空指针异常如何处理?

    你这个问题的解决 问题定位: 在堆栈异常信息的第一行就可以定位到是哪里出了空指针,倘若这里不是你写的类,可以往下翻一下,找到你写的类,就是这里出现的空指针. 问题解决: 对一个空对象调用里面的方法或者 ...

  6. java关键字有什么用_JAVA中关键字有什么用

    展开全部 Java关键e68a84e8a2ad3231313335323631343130323136353331333363356566字及其作用 一. 关键字总览: 访问控制 private pr ...

  7. java中如何定义接口_java中如何定义一个接口

    使用interface来定义一个接口.接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成.定义接口的基本格式如下:[修饰符] interface 接口名 [e ...

  8. java当中如何修改路径_Java 中 更改文件路径

    java 中更改文件路径可以用file.renameTo 方法 public static void moveDataFile2Reject() throws Exception { try { // ...

  9. java中组件与容器_java中的容器组件和非容器组件

    1.java使用到的图形类主要在java.awt 与javax.swing包中. 2.java.awt 与 javax.swing包的区别: ① java.awt中使用的图形类都是依赖于系统的图形库的 ...

  10. java boolean几个字节_Java中boolean类型到底占用多少个字节?

    1.时间:2017-07-03 07:37:06YuanMxy 2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是b ...

最新文章

  1. 985高校博士情侣致谢:我俩每月补贴600元,在一线城市生活5年
  2. 久等!2020智源大会演讲视频全公开,参与盖楼挑战赢限量徽章
  3. linux远程连接工具
  4. openvn客户端连接配置(ubnutu)
  5. KAF-1300图像传感器入榜IEEE芯片名人堂(Chip Hall of Fame )
  6. GuGuFishtion(2018 Multi-University Training Contest 7)
  7. P1407-[国家集训队]稳定婚姻【tarjan,强连通分量】
  8. Expected MultipartHttpServletRequest: is a MultipartResolver configured方案。
  9. Java基础-自增自减运算符练习题
  10. x264源代码简单分析:宏块分析(Analysis)部分-帧间宏块(Inter)
  11. Mac python3.5 + Selenium 开发环境配置
  12. Ubuntu 上安装 Node.js
  13. 10010序列检测器的三段式状态机实现(verilog)
  14. 长距离大口径输水PCCP管道泄漏监测系统解决方案
  15. mongodb 分片集群安装,以及环境准备
  16. 婚宴座位图html5,婚宴座位安排图 婚宴主桌安排示意图
  17. 心率检测--异常可能
  18. Cutting Bamboos【主席树+二分】
  19. [Vjudge]卡片游戏
  20. 支持向量机鸢尾花Iris数据集的SVM线性分类练习

热门文章

  1. hdu 1028 母函数
  2. 如何设计一个“好的”测试用例
  3. CISCO路由器配置基础(2)
  4. 2024东北林业大学计算机考研信息汇总
  5. mysql 里cdata的作用_页里面 CDATA的作用说明
  6. C语言内嵌Python import时提示undefined symbol错误及解决
  7. 计算机系统是由几部分构成它们分别是什么
  8. 非计算机专业教学改革,非计算机专业计算机课程的教学改革.pdf
  9. 我用ChatGPT写2023高考语文作文(五):北京卷I
  10. Teleport 开源堡垒机安装使用