创建内部类的对象
两种方式:
1.在Example的成员函数里面创建。
2.在外部创建。
第一种:在Example的内部创建InnerObj
Example ex=new Example();
Example.innerObj obj1=ex.create();
第二种:在Example的外部创建InnerObj
Example.InnerObj obj2=ex.new InnerObj();

注意:因为可读性,一般选用方法一;

Java中内部类与外部内的关系;
没有外部类,就没有内部内;

public class与private class
如果内部类名被修饰为public,则外部可见。

如果被private修饰,则该类彻底隐藏在内部。

代码如下:

package my;public class HelloWorld
{int id;String HelloWorldName;public HelloWorld2 create(){HelloWorld2 a=new HelloWorld2();return a;}public class HelloWorld2{int id;String HelloWorld2Name;public void Print() {id=11;HelloWorld2Name="1234";HelloWorldName="2345";HelloWorld.this.id=12;System.out.println("HelloWorld2.print called, id="+id+" HelloWorld2Name:"+HelloWorld2Name+ " HelloWorldName:"+HelloWorldName);}}public static void main(String[] args){     HelloWorld a=new HelloWorld();HelloWorld.HelloWorld2 b=a.create();b.Print();HelloWorld c=new HelloWorld();HelloWorld.HelloWorld2 d=c.new HelloWorld2();d.Print();}
}

运行截图如下:

Java高级语法笔记-内部类相关推荐

  1. Java高级语法笔记-模板类

    模板类 模板类用与表示通用的数据结构和算法. 例如,定义一个类List,表示通用链表(适用于任意对象的类型) 定义模板类: class List<T>{ } 使用模板类:创建List对象时 ...

  2. Java高级语法笔记-匿名类(Anonymous Class)

    匿名类(Anonymous Class) 匿名内部类,简称匿名类:是内部类的一种化简写法. 基本写法如下: BaseType obj=new BaseType(){ //类的定义 } Java项目中匿 ...

  3. Java高级语法笔记-反射机制(Reflection) (1)

    反射机制:在C/C++里面是没有的. 反射机制是Java的一个非常重要的机制.一些著名的应用框架都使用了此机制. java.lang.Class它是Java语法的一个基础类,用于描述一个class对象 ...

  4. Java高级语法笔记-枚举类型

    用enum定义枚举类型,即定义一些常量. public enum Weekday{ SUNDAY,MONDAY,TUESDAY,WEDNESDAY, THURSDAY,FRIDAY,SATURDAY ...

  5. Java高级语法笔记-语法支持的异常

    语法支持的异常 Java对异常支持得很彻底,举例来说: (java.lang.*下面,语法自带的异常类) 数组越界 ArrayIndexOutOfBoundsException 除0异常 Arithm ...

  6. Java高级语法笔记-文本文件的按行读取

    代码如下: HelloWorld.java package my;import java.io.BufferedReader; import java.io.File; import java.io. ...

  7. Java高级语法笔记-文件操作-链表的存储

    代码如下: AfByteBuffer.java package my;import java.io.File; import java.io.FileInputStream; import java. ...

  8. Java高级语法笔记-文件读写(2)

    文件读写(2) int与byte[]之间的互相转化 使用java.nio.ByteBuffer类可以完成int到 byte[]的转换 byte[] buf = new byte[4]; int a = ...

  9. Java高级语法笔记-文件读写

    写文件:追加模式写入 在构造时第2个参数置为true,表示append new FileOutputStream(filename, true); 使用FileInputStream可以从文件中读取数 ...

最新文章

  1. 自然语言处理算法工程师历史最全资料汇总-基础知识点、面试经验
  2. Asp.Net中替代Eval的两种方式
  3. Windows 7 提示AtBroke.exe初始化失败
  4. vue 页面生成pdf并下载 vue页面转PDF
  5. Django——Model
  6. java bip-39_Java中对XML的解析详解
  7. 微软AI实力秀:调侃Google吹牛;免费AI课程上线
  8. java随机抽取_java 随机抽取案例,不重复抽取
  9. 深度学习自学(四):NCNN配置openmp-CMAKELIST
  10. JAVA进制转换,十进制转换为八进制
  11. 422串口线互连的接法
  12. 各类邮箱谷歌邮箱、Outlook邮箱、雅虎邮箱的购买养号策略
  13. 基于tesseract的文字识别
  14. LODOP打印控件使用问题总结
  15. uni-app项目(分类页)
  16. RecyclerView的全能适配器,带有header和bottom
  17. 外部Activity和fragment之间的切换,传值
  18. javascript制作gif动图----gif.js
  19. Facebook Android集成和开发
  20. 对rose框架的简单使用

热门文章

  1. 数据分析师的全景职业规划,入门、转行都先看这篇
  2. 让程序员设计界面的后果
  3. 【飞鸽传书】飞鸽传书2011绿色版
  4. 那个傻子的网站突然打不开虚拟光驱
  5. 飞秋2010下载在未来讲差异化
  6. 实现文件拖放的一种简洁方法
  7. 别怕,是我......程序猿
  8. 监督学习 | 线性回归 之多元线性回归原理及Sklearn实现
  9. 给老板做PPT必备:文字加拼音
  10. 感到压力时,你秃的是头,而TA秃的是屁股