Java中抽象类和抽象方法的区别
抽象方法:在类中没有方法体的方法,就是抽象方法。
抽象类:含有抽象方法的类就叫抽象类。
抽象类中的抽象方法必须被实现!
如果一个子类没有实现父类中的抽象方法,则子类也成为了一个抽象类!
抽象类中的普通方法,可以不必实现。
1.用abstract来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。例如 :
abstract class Animal { //用abstract来定义一个Animal为抽象类}
抽象方法:
public abstract void enjoy(); //用abstract来定义一个抽象方法"enjoy"
2 含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
3 抽象类不能被实例化。
4 抽象方法只需声明,而不需实现某些功能。如:
//抽象方法
public abstract void enjoy();//这个抽象方法不需要实现功能
//一般方法
public void enjoy() {
System.out.print("叫声"); //而一般的方法有必要实现某些功能
}
例A:没抽象类的多态程序
class Person {
public void f() {
System.out.println("父类");
}
}
class Students extends Person {
public void f() {
System.out.println("学生类");
}
}
class Teacher extends Person {
public void f() {
System.out.println("教师类");
}
}
public class Test3 {
public static void main(String[] args) {
Person s = new Students();
Person t = new Teacher();
s.f();
t.f();
}
}
例B:抽象类的多态程序
abstract class Person {
public abstract void f();
}
class Students extends Person {
public void f() {
System.out.println("学生类");
}
}
class Teacher extends Person {
public void f() {
System.out.println("教师类");
}
}
public class Test3 {
public static void main(String[] args) {
Person s = new Students();
Person t = new Teacher();
s.f();
t.f();
}
}
Java中抽象类和抽象方法的区别的更多相关文章
- 转:二十一、详细解析Java中抽象类和接口的区别
转:二十一.详细解析Java中抽象类和接口的区别 http://blog.csdn.net/liujun13579/article/details/7737670 在Java语言中, abstract ...
- 关于JAVA中抽象类和接口的区别辨析
今天主要整理一下新学习的有关于Java中抽象类和接口的相关知识和个人理解. 1 抽象类 用来描述事物的一般状态和行为,然后在其子类中去实现这些状态和行为.也就是说,抽象类中的方法,需要在子类中进行重写 ...
- Java 中抽象类与接口的区别
TypeScript 中的接口,有点类似抽象类的概念.Java 中抽象类属于包含属性与抽象行为,而接口通常只是抽象行为.抽象类可以实现模板模式. 参考 https://www.cnblogs.com/ ...
- java中抽象类跟接口的区别
额,好吧,本来是打算转载些神马的,但是搜资料的过程中发现了一个专注与java的人,那就关注啦,以后多进他blog学习学习:http://www.cnblogs.com/chenssy/p/337670 ...
- Java中抽象类和接口的区别?
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...
- java中抽象类、接口及区别
转自:http://www.cnblogs.com/dolphin0520/p/3811437.html 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没 ...
- java中 抽象类和接口的区别
一. 什么是抽象类及什么是抽象方法 抽象方法是一种特殊的方法:他只有声明,而没有具体实现,抽象方法的声明格式为: abstract void funName(); 抽象方法必须用 abstract 修 ...
- java中抽象类和抽象方法到底什么关系?请举例说明!
抽象类和抽象方法什么关系?抽象类中可能有抽象方法,也可能没有抽象方法.那位说,就跟没说一样,那抽象类和抽象方法都叫抽象,他们必定有关系,那关系是什么呢?如果一个类中有抽象方法,它必须得是抽象类. An ...
- java中抽象类和抽象方法到底有什么用呢?
抽象类和抽象方法有什么用呢?马克-to-win:当初sun公司为什么要设计抽象类和抽象方法呢?当你在做车的系统设计时,当你设计车这个通用类时,假如你确认别人实例化车这个通用类没有意义时(不知道是bik ...
随机推荐
- java协变逆变,PECS
public static void main(String[] args) { // Object <- Fruit <- Apple <- RedApple System.out ...
- 微信小程序测试指南
[本文出自天外归云的博客园] 微信小程序本地部署测试方法 下载微信开发者工具 让小程序管理员将测试人员的微信号添加开发者权限 本地设置hosts为测试环境hosts 打开微信web开发者工具并扫码登录 ...
- 【转帖】2015年2月份最佳的免费 UI 工具包
2015年2月份最佳的免费 UI 工具包 设计师们最喜欢 UI 工具包,这是一种思路拓展的方法,同时可以利用它们来解决各种复杂的项目,同时可用来了解其他设计师的风格.这里我们收集了最近这一个月一些最棒 ...
- thinkphp5 memcached 安装、调用、链接
环境 linux memcached1.5.9 (memcached安装在虚拟机192.168.70.164) wampserver集成环境 thinkphp5 php7 步骤一:linux安装me ...
- irc
https://www.irccloud.com/ webchat.freenode.net http://blog.csdn.net/wcc526/article/details/16993069 ...
- duilib进阶教程 -- TreeView控件的bug (9)
一.不自动调整子控件的宽度(TreeView宽度小于260时) 相信亲们用同样的代码,显示效果肯定和Alberl不一样吧~O(∩_∩)O~ 嘿嘿,仔细对比下,看看你们的列表头背景图片是下面这样的么? ...
- [Understanding] Compressive Sensing and Deep Model
低维模型与深度模型的殊途同归 有助理解核心,陌生概念需要加强理解. 对于做机器学习,和做图像视觉的研究者来说,过去的十年是非常激动人心的十年.以我个人来讲,非常有幸接触了两件事情: 第一件是压缩感知( ...
- 使用 ssh -R 穿透局域网访问内部服务器主机,反向代理 无人值守化
一.搭建SSH方向代理 准备: 局域网主机(虚拟主机): 192.168.6.233 CentOS 6.7 阿里云服务器:120.25.68.60 CentOS 6.7 1. 阿里云服务器12 ...
- c++中SetEvent和ResetEvent的使用
关于事件 事件(Event)是WIN32提供的最灵活的线程间同步方式,事件可以处于激发状态(signaled or true)或未激发状态(unsignal or false).根据状态变迁方式的不同 ...
- MFC AfxMessageBox(_T("Please Load Rawdata First !"));
AfxMessageBox(_T("Please Load Rawdata First !"));