直接通过一个小程序开始吧!
package all;
/**
*
* @空谷悠悠
*
*/
public class InnerTest {
public void hello(){
System.out.println("say hello to you !");
}
public static void main(String[] args) {
InnerTest in = new InnerTest();
InnerTest.Base b = in.new SubBase ();
System.out.println("b.x="+b.x);
System.out.println("b.method="+b.method());
InnerTest.SubBase sb = in.new SubBase();
System.out.println("b.x="+sb.x);
System.out.println("b.method="+sb.method());
}
public class Base{
int x = 2;
int method(){
InnerTest.this.hello();
return x;
}
}
public class SubBase extends Base{
int x = 3;
int method(){
InnerTest.this.hello();
return x;
}
}
}
输出结果为:
b.x=2
say hello to you !
b.method=3
sb.x=3
say hello to you !
sb.method=3
开始我们的问题吧。我们可以清楚的看到内部类是可以的继承的,但是你注意到b.x和sb.x的结果差异吗?为什么同样调用method结果却没有区别啊?thinking in java中对这个问题做了详细的讲解----导出类能够覆盖基类的非final成员,而对于final成员无可奈何。我们知道基类的字段是默认final的。所以此处subBase不能覆盖掉Base中的x。另外导出类SubBase对基类的引用也是影藏的。
在内部类中怎么使用外部类的方法呢?当然得先拿到外部类的引用,即外部类+this
怎么生成内部类的对象呢?InnerTest in = new InnerTest();
InnerTest.Base b = in.new SubBase ();
即外部类引用+new
分享到:
相关推荐
广东海洋大学作为高等教育机构,其Java历年考题及答案对于学生复习备考以及提升编程技能具有极大的参考价值。这份资料集合了历年来的考试题目和对应答案,旨在帮助学习者系统地理解和掌握Java的核心概念、语法特性...
该项目是一款采用Java语言开发的海洋生物知识库管理系统源码,涵盖57个文件,其中包括43个Java源文件、7个XML配置文件、4个属性文件、1个Git忽略文件以及1个构建脚本文件。系统旨在实现海洋生物文档的在线管理和查阅...
在本项目"Java小游戏大战海洋生物"中,我们聚焦于使用Java编程语言开发一款互动娱乐应用,让玩家能够体验到与海洋生物战斗的乐趣。通过这个小游戏,我们可以学习和掌握Java编程的一些核心概念和技术。 首先,Java是...
"基于World Wind Java的3D海洋石油平台管理系统的设计与实现" 本文主要介绍了基于World Wind Java的3D海洋石油平台管理系统的设计与实现。该系统采用B/S结构,通过“数字海洋”北海分局节点提供集成身份验证和数据...
本项目是一款采用Java Server Pages(JSP)技术构建的海洋环境保护宣传网站设计源码,包含838个文件,其中包括218个JavaScript文件、192个GIF图片文件、86个CSS样式文件、62个Java类文件、50个JSP页面文件、40个JAR...
在Java编程语言中,面向对象程序设计(Object-Oriented Programming, OOP)是一种核心的编程范式,它基于“对象”概念,将数据和处理数据的方法封装在一起,以实现代码的模块化和可重用性。这个压缩包文件"JAVA面向...
一些java的练习题,里面含有答案,有需要的朋友可以下载去看看,比较基础,适合广东海洋大学同学或者其他高校同学练习使用
该项目是一款采用Java全栈技术的海洋主题网站设计源码,包含1451个文件,涵盖丰富的资源类型,如839个PNG图像、245个JavaScript脚本、95个HTML页面、71个CSS样式表、68个JPG图片、36个Java类文件,以及少量其他类型...
### 深潜数据海洋:Java文件读写全面解析与实战指南 #### 第一章:走进文件流的世界 —— 字节与字符的交响 在Java中,文件读写是通过流来实现的,流是一种从源头到目的地的数据传输通道。Java支持两种基本类型的...
在JAVA游戏中,捕鱼达人采用了高效的图形渲染技术,使得游戏画面绚丽多彩,各种海洋生物栩栩如生,为玩家营造出逼真的海洋环境。游戏内包含了多种鱼类,每种鱼类都有独特的外观和行为,增加了游戏的多样性与可玩性。...
该项目是一款以Java语言为核心开发的海洋科普文章后台系统源码,总计包含85个文件,其中Java源文件67个,XML配置文件8个,属性文件2个,日志文件2个,Git忽略文件1个,HTTP相关文件1个,Maven构建文件1个,YAML配置...
java_springboot海洋航运管理系统_毕业论文.docx
在这个项目中,Java被用来创建游戏对象(如鱼、海洋背景、边界等),处理游戏逻辑,以及渲染游戏画面。 其次,游戏循环是任何游戏的基础,它通常由更新逻辑和渲染两部分组成。在`BigFish`源码中,可以找到一个持续...
**Java实验手册(初学者必操作完全版)** 在编程世界中,Java是一种广泛应用的面向对象的编程语言,尤其在企业级应用、Android开发以及云计算领域占有重要地位。本实验手册专为Java初学者设计,旨在通过一系列实践...
这份"java试卷.rar"压缩包文件包含了广东海洋大学Java历年期末课程试题和详细答案的完整版,对于学习Java的同学来说是一份非常宝贵的资源。它可以帮助你深入理解和掌握Java的基础知识,提高编程能力,并为考试做好...
该项目是一款基于Java语言的商务合作策划案设计源码,包含208个文件,其中包括173个Java源文件、20个XML配置文件、5个VM模板文件、1个Git忽略文件、1个开源协议文件、1个IDE项目文件、1个YAML配置文件、1个项目依赖...
该项目是一款基于Java语言开发的海洋点餐平台,采用前后端分离架构设计,包含169个文件,其中145个为Java源代码文件,16个为XML配置文件,2个为YAML配置文件,1个为Git忽略文件,1个为JAR包文件,1个为properties...
是基于java编程语言,mysql数据库,ssm框架,idea开发工具支持eclipse jdk版本:1.8 及以上 ide工具:IDEA 数据库: mysql5.7+ 编程语言: Java tomcat: 8.0 及以上 java框架:ssm maven: 3.6.1 前端:jsp+...