java的就近原则啥意思_java就近原则浅析
先看下面的例子
public class Test6就近原则 {
public static void main(String[] args) {
A a = new A();
B b = new B();
a.fun();
b.fun();
}
}
class A {
private void print() {
System.out.println("A");
}
public void fun() {
this.print(); //this写不写效果一样
}
}
class B extends A{
public void print() {
System.out.println("B");
}
}
程序运行的结果都是A,因为类A的print方法是private的,不能被子类B重写,B类的print方法只是一个和A类print方法同名的方法,而在调用fun方法时,java采取就近原则,在fun方法里调用的print方法是与fun方法同在一个类的print方法,即A类里的print方法。
若把类A的print方法改为非private,那么类B里的print方法就是对父类A print方法的重写,此时结果为B,即java多态。
java的就近原则啥意思_java就近原则浅析相关推荐
- java 迪米特_Java设计原则—迪米特法则(转)
定义: 迪米特法则(Law of Demeter,LoD)也称为最少知识原则(Least Knowledge Principle,LKP). 一个对象应该对其他对象有最少的了解.通俗地讲,一个类应该对 ...
- java面向对象程序设计第三版_JAVA面向对象程序设计之创建型设计模式
[本文详细介绍了JAVA面向对象程序设计中的创建型设计模式,欢迎读者朋友们阅读.转发和收藏!] 1 基本概念 1.1 什么是设计模式 设计模式( Design pattern )是一套被反复使用.多数 ...
- java状态模式和策略模式_Java状态和策略设计模式之间的差异
java状态模式和策略模式 为了在Core Java应用程序中正确使用状态和策略设计模式,对于Java开发人员清楚地了解它们之间的区别很重要. 尽管状态和策略设计模式的结构相似,并且都基于开放式封闭设 ...
- 来了超火爆的Java游戏羊了个羊_java开发游戏项目
<羊了个羊>是一款网络上的卡通背景消除闯关游戏,游戏利用各种道具和提示来消除每一个关卡当中的障碍和陷阱. 游戏规则 羊了个羊在游戏下方共有7个槽位,玩家只要把3个相同方块点到槽位中就会消除 ...
- Java依赖于抽象不依赖于具体,依赖倒置原则(Dependecy-Inversion Principle)
依赖倒置原则(Dependence Inversion Principle,DIP)的原始定义: 高层模块不应该依赖底层模块,两者都应该依赖其抽象: 抽象不应该依赖细节: 细节应该依赖抽象. 抽象:即 ...
- java 父类强制转换为子类_[java]Java中父类强制转换成子类的原则
Java中父类强制转换成子类的原则:父类型的引用指向的是哪个子类的实例,就能转换成哪个子类的引用. 例: public class Test { public static void main(Str ...
- 从零开始学习Java设计模式 | 软件设计原则篇:里氏代换原则
在本讲中,我来为大家介绍一下软件设计原则里面的第二个原则,即里氏代换原则. 概述 首先,大家应该知道,里氏代换原则是面向对象设计的基本原则之一.那什么是里氏代换原则呢?里氏代换原则是指任何基类可以出现 ...
- 【源码+教程】Java学生成绩在线管理项目_Java实战项目_Java开源项目_Java毕设项目_Java毕业设计_计算机毕业设计_Java项目开发
今天为大家带来的是Java实战项目--学生成绩在线管理,可以用来做毕业设计喔~源码和教程就在下方.请大家查收~[源码+教程]Java学生成绩在线管理项目_Java实战项目_Java开源项目_Java毕 ...
- java开闭原则_什么是开闭原则?如何实现开闭原则
2015-04-13 06:30:01 阅读( 137 ) 开闭原则的解释就是:软件实体应当对扩展开放,对修改关闭,也就是:软件系统中包含的各种组件,例如模块(Modules).类(Classes)以 ...
最新文章
- webpack文章(持续更新)
- 图片和图形之性能和视图层次结构(18)
- JavaScript doT模板引擎
- linux是什么样的_您的Linux设置是什么样的?
- html签到插件,GitHub - inu1255/soulsign-chrome: 魂签,一款用于自动签到的chrome插件
- zabbix分布式监控环境搭建
- ffempge常用指令_fluent-ffmpeg 常用函数
- Python手机App数据抓取实战:抖音用户的抓取
- [渝粤教育] 西南科技大学 管理学原理 在线考试复习资料(6)
- 五、信息安全术语中英文词条对照表
- 细粒度的、安全高效的基于区块链数据溯源系统 Fine Grained, Secure and Efficient Data Provenance on Blockchain Systems(一)
- Encoded password does not look like BCrypt的原因及解决办法
- 【JUC高并发编程】—— 再见JUC
- Java实现比赛打分,去掉最小值及最大值,求平均值
- HTML5+CSS3小实例:简约不简单的社交分享按钮
- 进程的攻与“防” ---- 进程隐藏(Win7 x32 绕过PC Hunter)
- MySQL数据库图文安装详解及相关问题
- JavaWeb课程设计(风险地区查询系统)
- 几种生成验证码的方式以及计算表达式的计算
- linux系统怎么共享网络,在Linux操作系统的网络上共享计算机