Java中的继承和接口
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处!
这是个老话题,继承和接口是实现多态的两种方式,如果对象很多,其中一对一对的有共同点,建议用继承,如果他们都有很多共同点就用接口。接口是子类要全部实现;但抽象却可以让父类有的属性,子类不一定有;所以继承还是有一些问题可以讲讲的。
对比:
代码如下:
父类:
public class Parent {private void method1() {}public void method2() {}public static void method3() {}public void method4() {}void method5() {}public void method6() {}}
子类:
public class Son extends Parent {
@Override
void method1() {
// false 父类的private方法,子类无法继承,只属于父类
}
@Override
static public void method2() {
// false 父类的方法是非静态,继承的方法也必须是非静态的
}
@Override
public void method3() {
// false 同样,父类的方法是静态,继承的方法也必须是静态的
}
@Override
void method4() {
// false 父类的可见性是public,子类要继承必须是高于父类的可见性的
}
@Override
private void method5() {
//false 同上,父类的可见性是default,子类要继承必须是高于父类的可见性的
}
@Override
public void method6() {
//true
}
}
如果喜欢,请点个赞吧!
转载于:https://www.cnblogs.com/fengju/p/6174427.html
Java中的继承和接口相关推荐
- Java中的继承与接口
继承的定义:子类继承父类的属性和行为(方法),使得子类对象可以使用父类中的方法与属性. 在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下 public ...
- Java中解决继承和接口默认方法冲突
1)超类优先.如果超类提供了一个具体方法,同名而且有相同参数类型发默认方法会被忽略. 2)接口冲突.如果一个超接口提供了一个默认方法,另一个接口提供了一个同名而且参数类型(不论是否是默认参数)相同的方 ...
- 深入理解Java中的抽象类和接口
对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用, ...
- Java中Comparable和Comparator接口区别分析
本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧. Comparable 简介 Comp ...
- java comparator相等_详解Java中Comparable和Comparator接口的区别
详解Java中Comparable和Comparator接口的区别 发布于 2020-7-20| 复制链接 摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一 ...
- java中抽象类继承抽象类_Java中的抽象类用示例解释
java中抽象类继承抽象类 Abstract classes are classes declared with abstract. They can be subclassed or extende ...
- Java 中的抽象类和接口
Java 中的抽象类和接口 1.参考资料 深入理解Java的接口和抽象类 Java抽象类与接口的区别 2.前言 有一次旁听面试的时候,听到面试官问了一句:既然 JDK8 中接口有了默认方法实现,那接口 ...
- Java模式设计卖电脑实验报告,面向对象(Java)实验0继承、接口和多态
<面向对象(Java)实验0继承.接口和多态>由会员分享,可在线阅读,更多相关<面向对象(Java)实验0继承.接口和多态(11页珍藏版)>请在金锄头文库上搜索. 1.电子信息 ...
- java饲养员喂动物_做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处...
做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处 interface Animal{ //动物的接口 public void eat(Food food); // ...
最新文章
- 关于随机验证码的一些小见解。
- java鼠标经过时变色_将鼠标悬停在标签上时,鼠标指针会变为手形
- vscode python单步调试_调试期间VSCode python“未验证断点”?
- “根本就不需要 Kafka 这样的大型分布式系统!”
- Linux的LAMP
- python 什么时候后面要加冒号_Python中的每个if条件语句后面都要使用冒号。
- 3.excel 生成 sql
- 【openjudge 计算概论(A)】[函数递归练习(3)]
- nginx 错误Failed to start The nginx HTTP and reverse proxy server.
- PowerBuilder通过JDBC连接MySQL数据库
- jquery提交表单验证示例代码
- 洛谷 T2691 桶哥的问题——送桶
- 【Ubuntu】硬盘读写速度测试
- 中国金盐银盐行业研究与投资前景预测报告(2022版)
- 休假模块_如何为(几乎)任何电子邮件帐户创建休假消息
- 关于DoEvents
- 《与大象共舞》读书笔记
- PS CS6视频剪辑基本技巧(一)CS6可以实现的视频剪辑功能
- Oracle 报 “ORA-00054 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效” 问题的解决方法
- 文盾信息非结构化数据安全解决方案,高效防护企业文档安全
热门文章
- mysql 重置更新祖级字段
- Mysql ERROR 1067: Invalid default value for ‘auth_time‘
- 【tomcat】catalina.home catalina.base 区别
- c 语言名称的作用域,C 作用域规则
- SecurityContextPersistenceFilter和SecurityContextHolder的作用
- ieda 远程调试hive_idea 远程调试
- Windows Nginx 反向代理 Microsoft SQL Server (MSSQL)
- Oracle使用impdb/expdb数据泵导入/导出数据库
- java axis2小实例_java webservice axis2简单开发实例
- 联想p720装系统_分享联想ThinkPad X1 Carbon笔记本最稳的重装WIN10系统方法