Java高级语法笔记-内部类
创建内部类的对象
两种方式:
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高级语法笔记-内部类相关推荐
- Java高级语法笔记-模板类
模板类 模板类用与表示通用的数据结构和算法. 例如,定义一个类List,表示通用链表(适用于任意对象的类型) 定义模板类: class List<T>{ } 使用模板类:创建List对象时 ...
- Java高级语法笔记-匿名类(Anonymous Class)
匿名类(Anonymous Class) 匿名内部类,简称匿名类:是内部类的一种化简写法. 基本写法如下: BaseType obj=new BaseType(){ //类的定义 } Java项目中匿 ...
- Java高级语法笔记-反射机制(Reflection) (1)
反射机制:在C/C++里面是没有的. 反射机制是Java的一个非常重要的机制.一些著名的应用框架都使用了此机制. java.lang.Class它是Java语法的一个基础类,用于描述一个class对象 ...
- Java高级语法笔记-枚举类型
用enum定义枚举类型,即定义一些常量. public enum Weekday{ SUNDAY,MONDAY,TUESDAY,WEDNESDAY, THURSDAY,FRIDAY,SATURDAY ...
- Java高级语法笔记-语法支持的异常
语法支持的异常 Java对异常支持得很彻底,举例来说: (java.lang.*下面,语法自带的异常类) 数组越界 ArrayIndexOutOfBoundsException 除0异常 Arithm ...
- Java高级语法笔记-文本文件的按行读取
代码如下: HelloWorld.java package my;import java.io.BufferedReader; import java.io.File; import java.io. ...
- Java高级语法笔记-文件操作-链表的存储
代码如下: AfByteBuffer.java package my;import java.io.File; import java.io.FileInputStream; import java. ...
- Java高级语法笔记-文件读写(2)
文件读写(2) int与byte[]之间的互相转化 使用java.nio.ByteBuffer类可以完成int到 byte[]的转换 byte[] buf = new byte[4]; int a = ...
- Java高级语法笔记-文件读写
写文件:追加模式写入 在构造时第2个参数置为true,表示append new FileOutputStream(filename, true); 使用FileInputStream可以从文件中读取数 ...
最新文章
- 自然语言处理算法工程师历史最全资料汇总-基础知识点、面试经验
- Asp.Net中替代Eval的两种方式
- Windows 7 提示AtBroke.exe初始化失败
- vue 页面生成pdf并下载 vue页面转PDF
- Django——Model
- java bip-39_Java中对XML的解析详解
- 微软AI实力秀:调侃Google吹牛;免费AI课程上线
- java随机抽取_java 随机抽取案例,不重复抽取
- 深度学习自学(四):NCNN配置openmp-CMAKELIST
- JAVA进制转换,十进制转换为八进制
- 422串口线互连的接法
- 各类邮箱谷歌邮箱、Outlook邮箱、雅虎邮箱的购买养号策略
- 基于tesseract的文字识别
- LODOP打印控件使用问题总结
- uni-app项目(分类页)
- RecyclerView的全能适配器,带有header和bottom
- 外部Activity和fragment之间的切换,传值
- javascript制作gif动图----gif.js
- Facebook Android集成和开发
- 对rose框架的简单使用