java内部类继承类_java内部类基础(内部类继承关系 或外部类整体继承)
class WithInner {
class Inner {
Inner() {
System.out.println("this is a constructor in WithInner.Inner");
};
}
}
//默认无参构造器不好使 。有参构造器,传递外部类,用外部类的supper()去构造。
public class InnerExtendsT extends WithInner.Inner {
//InnerExtendsT() {} // Won't compile
//必须传递 外部类的引用,并调用supper()才可以。
InnerExtendsT(WithInner wi) {
wi.super();
System.out.println("this is a constructor in InheritInner");
}
public static void main(String[] args) {
WithInner wi = new WithInner();
InnerExtendsT ii = new InnerExtendsT(wi);
}
}
————————————————————————————————————————————
class Egg {
private Yolk y;// 蛋黄
protected class Yolk {
public Yolk() {
System.out.println("Egg.Yolk()");
}
}
public Egg() {
System.out.println("New Egg()");
y = new Yolk();
}
}
//当你继承了某个外围类的时候,内部类并没有发生什么特别神奇的变化。这两个内部类是完全独立的两个实体,各自在自己的命名空间内。
public class MultiExtends extends Egg {
public class Yolk {//重构了 它自身的 内部类,但是 实际上 基类的内部类并没有变化 虽然是大鸡蛋,但是还是小蛋黄
public Yolk() {
System.out.println("BigEgg.Yolk()");
}
}
public static void main(String[] args) {
new MultiExtends();
}
}
——————————————————————————————————————————————
class Egg2 {
protected class Yolk {
public Yolk() {
System.out.println("inner class initialize beforing......class initialing....");
System.out.println("Egg2.Yolk()");
}
public void f() {
System.out.println("Egg2.Yolk.f()");
}
}
public Egg2() {
System.out.println("New Egg2()");
}
private Yolk y ;// = new Yolk();构造过程之前进行引用对象的处理。
public void insertYolk(Yolk yy) {
y = yy;
}
public void g() {
if(y == null){
y = new Yolk();//运用的时候,再创建。
}
y.f();
}
}
public class MultiExtends2 extends Egg2 {
public class Yolk extends Egg2.Yolk {//强制继承 鸡蛋的蛋黄
public Yolk() {
System.out.println("BigEgg2.Yolk()");
}
public void f() {
System.out.println("BigEgg2.Yolk.f()");
}
}
/**
* 父类对象的引用的处理
*/
public MultiExtends2() {
System.out.println("kkkkkk");
insertYolk(new Yolk()); //重新设置之后,调用新的对象。
}
public static void main(String[] args) {
Egg2 e2 = null;
e2 = new MultiExtends2();
e2.g();
}
}
————————————————类嵌套——————————————————————————
public class MultiNestingAccess {
public static void main(String[] args) {
MNA mna = new MNA();
MNA.A mnaa = mna.new A();
MNA.A.B mnaab = mnaa.new B();
mnaab.h();
}
}
class MNA {
private void f() {
}
class A {
private void g() {
}
public class B {
void h() {
g();
f();
}
}
}
}
java内部类继承类_java内部类基础(内部类继承关系 或外部类整体继承)相关推荐
- java 局部内部类常用么_Java中的内部类
一.内部类概述 在一个类的内部定义一个类.在 A 类中定义 类 B.B 类就被叫做 A 的内部类.A 类就是 B 的外部类. 二.内部类的种类 内部类分为:成员内部类.静态内部类.局部内部类.匿名内部 ...
- java常用class类_java常用类
java常用类 内部类 1.成员内部类:在一个类的内部定义一个完整的类 例如:外部类public class Body{ 内部类class Header{ } } 内部类可以直接访问外部类的私有成员, ...
- java 访问内部类的属性_java中的内部类详细总结
内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液.跳动) 显然, ...
- java 继承类_java类的继承
继承就是在一个现有类型的基础上,通过增加新的方法或者重定义已有方法(重写)的方式,产生一个新的类型.继承是面向对 象的三个基本特征--封装.继承.多态的其中之一,我们在使用java时编写的每一个类都是 ...
- java的static类_java中staticclass静态类详解
一般情况下是不可以用static修饰类的.如果一定要用static修饰类的话,通常static修饰的是匿名内部类. 在一个类中创建另外一个类,叫做成员内部类.这个成员内部类可以静态的(利用static ...
- java 反射 本类_Java 反射 Class类
Java 反射 Class类 @author ixenos 摘要:Class类在反射中的地位.构造Class对象的三种方式.Class对象构造对应类型对象的三种方式 Class类在反射中的地位 位于j ...
- java 内部匿名类_java匿名类和匿名内部类详解
匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类.其语法形式如下:new() { //类的主体 }; 这种形式的 new 语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一 ...
- java 虚拟机内存类_java 虚拟机类加载 及内存结构
在面试java工程师的时候,这道题经常被问到,故需特别注意. 1.JVM 简介 JVM 是我们Javaer 的最基本功底了,刚开始学Java 的时候,一般都是从"Hello World &q ...
- java 数组 字符串 编程_Java语言基础知识之字符串数组
Java语言基础知识之字符串数组 java语言中,数组是一种最简单的复合数据类型.数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素.数组有 ...
最新文章
- mysql表中的多对多关系表_「一对多」关系型数据库中一对多,多对一,多对多关系(详细) - seo实验室...
- 一周一论文(翻译)——[IEEE 14] Elastic scaling for data stream processing
- idea 项目编译不成功-循环依赖的问题
- tps波动很大的原因_花生价格小幅上涨,要突破6元大关?粮贩:还有很大距离...
- buffer java nio_Java NIO深入理解Buffer(缓冲区)
- 简短—揭开数学学科对于计算机应用的神秘面纱
- 官宣!阿里进军 5G,成立 XG 实验室发力新基建
- 滨州学院计算机自荐考试题型,滨州学院期末考试试卷标准样式.doc
- 如何通过投掷一枚硬币产生各种概率
- 不用代码隐藏自定义列表
- jquery事件绑定的几种用法
- 如果说《热带风暴》在你身上刮过,你还剩下什么?
- Hyperledger04
- 用c语言屏蔽鼠标键盘,用VBS屏蔽键盘和鼠标
- java计算机毕业设计基于Web的上门家教系统的设计与实现源码+数据库+系统+lw文档+mybatis+运行部署
- c++灵魂科普(1)
- Android 获取摄像头像素,个数
- Android updater-scripts(Edify Script)各函数详细说明【转】
- Vue核心⑨(数据监测原理)
- ddddyla看电影项目总结
热门文章
- 从10亿光年到0.1飞米
- hku-mars/livox_camera_calib 痛苦配置
- 帷幕的帷是什么意思_《老酒馆》热播背后:你真的看明白大戏背后的意思了吗?...
- opencv+python图像识别,麻将牌识别,实现自动打牌方案
- springboot的登录拦截器的学习
- 人生就是一场永不停歇的修行
- 4G无线WIFI太阳能低功耗监控摄像头野外4G监控无电无网远程摄像机
- 【openjudge 计算概论(A)】[基础编程练习(运算成分)]
- [Offer收割]编程练习赛2 hihocoder 1272 买零食 (DFS 或 dp 水题)
- 基于Testbench的FPGA实物自动化测试环境设计