文档章节

内部类之间的继承和覆盖

_BiuBiu
 _BiuBiu
发布于 2017/03/24 21:57
字数 287
阅读 14
收藏 0
package com.dfy.callback;

public class Egg2 {
	protected class York{
		public York(){
 			System.out.println("egg2.rolk()");
		}
		public void f(){
			System.out.println("egg2.yolk.f()");
		}
	}
	private York y = new York();
	public Egg2(){
		System.out.println("new egg2()");
	}
	public void insertYork(York yy){
		y = yy;
	}
	public void g(){
		y.f();
	}
}
class BigEgg2 extends Egg2{
        //此处虽然也叫York,但是不同类中的内部类时相对独立的,只是名称相同,    
        //名称在此处并没有任何意义
	class York extends Egg2.York{
		public York() {
			System.out.println("bigegg2.yolk");
		}
                //覆盖父类方法
		public void f(){
			System.out.println("bigegg2.york.f()");
		}
	}
	BigEgg2(){
		insertYork(new York());
	}
	public static void main(String[] args) {
		Egg2 e2 = new BigEgg2();
		e2.g();
	}
}

输出结果
egg2.rolk()
new egg2()
egg2.rolk()
bigegg2.yolk
bigegg2.york.f()

执行顺序:
首先 new BigEgg2()执行父类方法中成员变量private York y = new York();时会去执行
York内部类的构造方法,输出第一行; 然后,执行父类Egg2 的构造方法,输出第二行; 然后,执行BigEgg2 自身构造方法时,执行insertYork(new York());实例化父类Egg2.York,
执行父类Egg2.York构造方法,输出第三行; 然后,执行York构造方法,输出第四行;
最后,执行e2.g();动态绑定到子类f()里,输出第五行。

© 著作权归作者所有

_BiuBiu
粉丝 1
博文 5
码字总数 1458
作品 0
海淀
私信 提问
内部类的继承和局部内部类

一、内部类的继承 内部类的构造器必须连接到指向其外围类对象的引用,因此继承内部类变得些许复杂,关键是指向外围类对象的引用必须被初始化而在导出类中不再存在可连接的默认对象,若要解决...

哎小艾
2018/02/08
16
0
-1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口 区别 多态 包 访问权限 内部类 匿名内部类 == 与 equal

java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类...

noteless
2018/07/03
0
0
全面掌握 Java 内部类

一直以来以为自己对 java 基础甚是清楚,然而面试时却连内部类和静态内部类的区别都无法回答圆满,so~重新学习一遍,彻底掌握内部类。 内部类是一种非常有用的特性,它可以把一些逻辑相关的类...

王英豪
2017/12/05
0
0
关于Java对象的继承和多态学习笔记

-------------------------关于对象的构造过程------------------------ 如果类B继承了类A,那么当创建类B的实例时,遵循如下过程: 1、如果类A有静态的成员变量,初...

mj4738
2012/01/15
169
1
《java编程思想》——内部类

内部类 可以将一个类的定义放在另一个类定义内部,这就是内部类。 创建内部类 //创建内部类且在外部类的一个方法返回一个指向内部类的引用public class Parcel2 { //内部类Contents class Co...

wjk_snail
2016/01/02
139
1

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
今天
13
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
今天
7
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
今天
13
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
今天
12
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部