java中abstract是什么_JAVA中的abstract的介绍
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的介绍相关推荐
- java中抽象类继承抽象类_Java中的抽象类用示例解释
java中抽象类继承抽象类 Abstract classes are classes declared with abstract. They can be subclassed or extende ...
- java中抽象类的定义_Java中抽象类的定义和使用
Java虽然比较简单,但是细节的知识点还是很多的,现在,介绍一下抽象类的定义和实现基础.指的是在类中定义方法,而不去实现它,而在它的子类中去具体实现,继承抽象类的子类必须实现父类的抽象方法,除非子类是 ...
- java中extends怎么用_Java 中extends與implements使用方法
初學Java語言, 代碼中的extends和implements讓我感到很迷惑,現在終於弄明白它們之間的區別和用法了. //定義一個Runner接口 public inerface Runner { ...
- java抽象类有什么用_java中抽象类的作用是什么?抽象类作用的例子
你知道java当中抽象类的作用是什么吗?有什么作用?下面和小编一起来详细的了解一下具体的作用,以及看看抽象类作用的例子吧! 一.java抽象类的作用 java抽象类的作用具体的可以分成以下的三点: 1 ...
- java中什么是空指针异常_JAVA中的空指针异常如何处理?
你这个问题的解决 问题定位: 在堆栈异常信息的第一行就可以定位到是哪里出了空指针,倘若这里不是你写的类,可以往下翻一下,找到你写的类,就是这里出现的空指针. 问题解决: 对一个空对象调用里面的方法或者 ...
- java关键字有什么用_JAVA中关键字有什么用
展开全部 Java关键e68a84e8a2ad3231313335323631343130323136353331333363356566字及其作用 一. 关键字总览: 访问控制 private pr ...
- java中如何定义接口_java中如何定义一个接口
使用interface来定义一个接口.接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成.定义接口的基本格式如下:[修饰符] interface 接口名 [e ...
- java当中如何修改路径_Java 中 更改文件路径
java 中更改文件路径可以用file.renameTo 方法 public static void moveDataFile2Reject() throws Exception { try { // ...
- java中组件与容器_java中的容器组件和非容器组件
1.java使用到的图形类主要在java.awt 与javax.swing包中. 2.java.awt 与 javax.swing包的区别: ① java.awt中使用的图形类都是依赖于系统的图形库的 ...
- java boolean几个字节_Java中boolean类型到底占用多少个字节?
1.时间:2017-07-03 07:37:06YuanMxy 2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是b ...
最新文章
- 985高校博士情侣致谢:我俩每月补贴600元,在一线城市生活5年
- 久等!2020智源大会演讲视频全公开,参与盖楼挑战赢限量徽章
- linux远程连接工具
- openvn客户端连接配置(ubnutu)
- KAF-1300图像传感器入榜IEEE芯片名人堂(Chip Hall of Fame )
- GuGuFishtion(2018 Multi-University Training Contest 7)
- P1407-[国家集训队]稳定婚姻【tarjan,强连通分量】
- Expected MultipartHttpServletRequest: is a MultipartResolver configured方案。
- Java基础-自增自减运算符练习题
- x264源代码简单分析:宏块分析(Analysis)部分-帧间宏块(Inter)
- Mac python3.5 + Selenium 开发环境配置
- Ubuntu 上安装 Node.js
- 10010序列检测器的三段式状态机实现(verilog)
- 长距离大口径输水PCCP管道泄漏监测系统解决方案
- mongodb 分片集群安装,以及环境准备
- 婚宴座位图html5,婚宴座位安排图 婚宴主桌安排示意图
- 心率检测--异常可能
- Cutting Bamboos【主席树+二分】
- [Vjudge]卡片游戏
- 支持向量机鸢尾花Iris数据集的SVM线性分类练习