面向对象知识汇总

简介:

1.抽象类与普通类

  1. 抽象类就是比普通类多定义了一个抽象方法,出除了不能直接进行对象的实例化操作之外并没有任何的不同
  2. 一个抽象类不可以使用final关键字声明,因为final声明的类表示不能被继承,而抽象类又必须辈子类重写。
  3. 一个抽象类可以定义构造方法。
  4. 抽象方法不要使用private声明:在使用abstract关键字修饰方法时不能使用private修饰,因为抽象方法必须被子类覆写,而如果使用了private声明,则子类是无法覆写的。
  5. 在java中允许一个抽象类实现多个接口,而且抽象类实现接口可以不必实现接口中定义的方法。实例如下:

1.1抽象类实现接口

定义接口interface1

View Code

定义抽象类abstractclass1实现接口interface1

View Code

 

2.接口

  1. 接口可以被理解为一种特殊的类,是由全局常量公共的抽象方法所组成。
  2. 在接口中抽象方法必须定义为public访问权限,这是绝对不可改变的,即使在接口中不写public,则也是public访问权限。
  3. 在很多的java程序中,经常看到写编程接口方法时省略了public,那么就会有很多的读者认为它的访问权限是default,实际上这是错误的,不管写与不写,接口中的方法永远是public的。
  4. 接口可以继承(extends)接口,可以实现接口的多继承,比如:public interface interface3 extends interface1, interface2 {}。不过有一个要求,那就是interface1和interface2两个接口中没有冲突的方法定义。所谓冲突的方法定义就是方法名相同,但是返回类型或者参数不同的方法。
  5. 接口不可以继承抽象类。
  6. java对类只支持单继承,但是一个类可以实现多个接口,这相当于摆脱了单继承的局限。如果被实现的多个接口中有多个相同方法(参数和返回类型都相同),那么在实现接口是相当于同时实现这两个接口的这个方法。如果被实现的接口中有同名但是不同类型的方法,那么这些方法都必须在类中重写实现。

2.1接口的定义

View Code

因为在接口的基本概念中明确声明了接口是由全局常量和公共的抽象方法所组成,因此上述接口可以简写成如下形式:

View Code

 

3.对象的多态

在java中多态主要分为两类

  1. 方法的重写(override)和方法的重载(overload)
  2. 对象的多态

对象的多态又主要分为以下两种类型

  1. 向上转型:子类对象->父类对象。用子类实例化父类。父类 父类对象 = 子类实例。程序自动完成
  2. 向下转型:父类对象->子类对象。用父类实例化子类。子类 子类对象 = (子类)父类实例。必须明确得指定要转型的子类类型。这里的 (子类) 就是强制类型转换。 在对象向下转型前,必须首先发生对象的向上转型。

多态的实例

父类A

View Code

子类B

View Code

主程序PolyDemo2

View Code

程序输出结果:

B-->public void fun1(){}
B-->public void fun1(){}
B-->public void fun1(){}
B-->public void fun1(){}
B-->public void fun3(){}


本文转自xwdreamer博客园博客,原文链接:http://www.cnblogs.com/xwdreamer/archive/2012/04/11/2441857.html,如需转载请自行联系原作者

目录
相关文章
|
内存技术
STM32F103 五个时钟源
STM32F103 五个时钟源
846 0
|
11月前
|
人工智能 监控 物联网
探索信息技术的前沿:推动社会进步与创新的强大力量
探索信息技术的前沿:推动社会进步与创新的强大力量
376 3
|
人工智能 算法 自动驾驶
智能时代的伦理困境:AI技术的道德边界
【7月更文挑战第26天】在AI技术的飞速发展中,我们不仅见证了科技的奇迹,也面临着前所未有的伦理问题。本文探讨了人工智能带来的道德挑战,包括隐私侵犯、自动化失业、算法偏见以及决策责任归属等问题。通过分析这些伦理困境,文章旨在引发对AI技术应用中道德边界的深入思考和讨论。
|
存储 算法 测试技术
【软件工程】软件工程复习题库2023
【软件工程】软件工程复习题库2023
375 0
|
运维 DataWorks 监控
DataWorks常见问题之如何批量补数据
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
348 1
您在阿里云网盘与相册服务支付后可以要求开具发票
您在阿里云网盘与相册服务支付后可以要求开具发票【1月更文挑战第13天】【1月更文挑战第62篇】
485 2
|
域名解析 网络协议 大数据
阿里云域名购买与域名解析使用教程(图文教程)
该文档是关于在阿里云注册账号、购买域名及进行DNS解析的步骤指南。首先,需注册阿里云账号并进行实名认证,建议选择企业认证以便获取企业发票。接着,通过阿里云域名注册页面检查并购买未被注册的域名,将域名添加至购物车并完成支付。购买后,在云解析DNS界面进行实名认证,然后对域名进行解析设置,选择A记录类型,填写主机记录(如www),记录值为云服务器的IP地址,设置TTL,并校验解析是否成功。最后,文中还提及了如何在云服务器上进行实例名称的修改和查看服务器状态等操作。
|
数据安全/隐私保护
⊕是什么意思
⊕是什么意思
1721 0
⊕是什么意思
|
前端开发 JavaScript 测试技术
Ant Design 开源项目经验分享,你想知道的都在这儿了
如何成功的运作一个开源项目?来自Ant Design灵魂人物偏右的全干货分享。
Ant Design 开源项目经验分享,你想知道的都在这儿了