看编程思想有点时间了,看到了些在马士兵老师没有讲过的部分,所以打算记录一下

内部类的初始化:

.内部类的初始化和外部类的初始化略有不同,可以使用 外部类对象.new 内部类对象 创建内部类对象

 package com.github.hellxz.practice10_2_2;

 public class Outer {
public String toString() {
return "Outer class override toString() method";
}
class Inner{
public String toString() {
return "Inner class override toString() method";
}
}
public static void main(String args[]) {
//this is wrong way to create inner class instance
//! Inner inner = new Outer.Inner();
Outer outer = new Outer(); //create outer instance first ,cuz an inner instance must create on a outer instance
Inner inner = outer.new Inner(); //create inner instance.
//the declare type also can be Outer.Inner
Outer.Inner inner2 = outer.new Inner();
}
}

内部类对象返回外部类对象的引用:

.使用 .this  在上边代码的基础上修改代码

 package com.github.hellxz.test;

 public class Outer {
public String toString() {
return "Outer class override toString() method";
}
class Inner{
//a method to return outer class reference
Outer outer() {
return Outer.this;
}
public String toString() {
return "Inner class override toString() method";
}
}
public static void main(String args[]) {
Outer outer = new Outer();
System.out.println(outer); //show which reference
Inner inner = outer.new Inner();
System.out.println(inner);
// use inner class method to return outer class reference
//! Inner inner2 = inner.outer(); //it wrong
Outer outer2 = inner.outer();
System.out.println(outer2);
}
} //output:
//Outer class override toString() method
//Inner class override toString() method
//Outer class override toString() method

问我为啥注释都英文,因为我这linuxmint的root用户的fcitx好像没装好。在普通用户下正常,一使用root用户就不行,百度好久也没解决,有知道解决方法的老哥评论下告知呗,小弟感激不尽!

TIJ笔记:内部类的初始化的更多相关文章

  1. DirectX11笔记(三)--Direct3D初始化代码

    原文:DirectX11笔记(三)--Direct3D初始化代码 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010333737/article ...

  2. DirectX11笔记(三)--Direct3D初始化2

    原文:DirectX11笔记(三)--Direct3D初始化2 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010333737/article/ ...

  3. DirectX11笔记(二)--Direct3D初始化1之基本概念

    原文:DirectX11笔记(二)--Direct3D初始化1之基本概念 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010333737/art ...

  4. java内部类的初始化

    public class InnerClassTest { /** * @param args */ public static void main(String[] args) { // TODO  ...

  5. Java学习笔记-内部类

    内部类在Android中有着大量的运用 内部类 内部类提供了更好的封装:内部类可以直接访问外部类的私有数据:匿名内部类适合那些只需要使用一次的类.非静态内部类不能拥有静态成员.内部类比外部类可以多使用 ...

  6. Java疯狂讲义笔记——内部类

    [定义]内部类:定义在其它类内部的类.外部类:包含内部类的类,也称 宿主类.局部内部类:定义在方法里的内部类. [接口内部类]接口中也可以定义内部类,必须为public static修饰(自动添加), ...

  7. [读书笔记] java类初始化

    以下内容来自周志明的<深入理解java虚拟机>: 类初始化阶段是类加载过程的最后一步,前面的类加载过程中,除了在加载阶段用户应用程序可以通过自定义类加载器参与之外,其余动作完全由虚拟机主导 ...

  8. Java学习笔记——内部类及其调用方法

    一.static内部类的static方法 public class Test0719_Inner_Test { public static void main(String[] args) { //s ...

  9. Ztack学习笔记(2)-系统初始化分析

    main函数先执行初始化工作,包括硬件.网络层.任务等的初始化. 一 系统初始化 系统初始化函数主要完成内存分配.消息队列头.定时器.电源管理.任务系统及内存栈等的初始化,具体如下代码所示: //os ...

随机推荐

  1. String源码图

    String StringBuffer StringBuilder 均为对字符数组的操作. 实现了不同的接口,导致不同的覆写. 实现了同样的接口,适应不同的场景.

  2. js解析xml浏览器兼容性处理

    /****************************************************************************** 说明:xml解析类 ********** ...

  3. Windows 7样式地址栏(Address Bar)控件实现

    介绍 从Vista开始,地址栏就有了很大的改变,不知道大家有什么感觉,笔者觉得很方便,同时又兼容之前的功能,是个很不错的创新.不过,微软并不打算把这一很酷的功能提供给广大的开发人员. 本文提供了一个简 ...

  4. JQuery基本语法(部分)

    1.jQuery介绍 jQuery 是一个 JavaScript 函数库. jQuery 库包含以下特性: HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数 JavaScrip ...

  5. golang 数组反转

    我做hackerearth上题目记录,具体的题目描述是这样的: Given the size and the elements of array A, print all the elements i ...

  6. SSH实战OA 11:BBS模块

    <SSH实战OA>系列博客的系统管理.权限管理等内容后面再补上吧,先继续第三个模块:网上交流模块.网上交流主要做两个需求:论坛管理和论坛. BBS的一些基本术语: 板块:也叫做" ...

  7. Mac 下 android/iOS https抓包

    一.Charles简介 Charles,是用Java开发的,所以跨平台,不仅可以在Mac上使用,Linux以及Window下都是可以使用的,当然需要安装JDK,才能运行,但目前是收费的. 二.下载 官 ...

  8. IOS 触摸事件分发机制详解

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:MelonTeam 前言 很多时候大家都不关心IOS触摸事件的分发机制的实现原理,当遇到以下几种情形的时候你很可能抓破头皮都找不到解决方案 ...

  9. Windows平台下的内存泄漏检测

    在C/C++中内存泄漏是一个不可避免的问题,很多新手甚至有许多老手也会犯这样的错误,下面说明一下在windows平台下如何检测内存泄漏. 在windows平台下内存泄漏检测的原理大致如下. 1. 在分 ...

  10. 用纯CSS画大白

    纯CSS打造网页大白知识点:      首先要把大白分割,整体baymax中包含header(eye1,eye2,mouth),torso(heart),belly(cover),l-bigfinge ...