内部类——一目了然
来源:互联网 发布:snmp 监控软件 编辑:程序博客网 时间:2024/06/03 19:26
内部类:声明在累了中的类叫内部类
内部类分类:
成员内部类
静态内部类
匿名内部类
局部内部类
内部类的主要特点
内部类可以很好的实现隐藏,可以使用protected、private修饰符
内部类可以直接访问外部类的所有成员,包括私有的成员,但是外部类不能直接访问内部类的成员,必须首先要建立内部类的对象才可访问
内部类可以解决一些问题,比如间接的去实现多继承。可以避免修改接口而实现同一个类中两种同名方法的调用。
成员内部类:
产生成员内部类的对象外部类才可以访问内部类的方法和变量
Outer.inner a=Outer.new inner();
在内部类中访问外部类重名的变量或者方法,用 外部类名+this.变量(方法)
在成员内部类中不要声明静态成员或者方法,但常量除外
内部类和外部类的名字不能重名
内部类所对应的class文件为: 外部类的名字$内部类的名字
静态内部类
静态内部类中只能访问外部静态的成员。
产生静态内部类的对象
Outer.inner a=new Outer.inner();
外部类可以直接访问静态内部类的静态方法,不能直接访问非静态方法,必须先创建静态内部类的对象好以后才可以访问。
匿名内部类
没有类名的类
特点:
没有类名
语法是 new 父类/接口(){
重写父类或接口的方法
}
new出来的是子类或接口的实现类
匿名内部类不可以声明静态成员
局部内部类
在方法中声明的类叫局部内部类
特点:
外部的其他类不能构造出局部内部类对象
局部内部类不能加访问修饰符
局部内部类对象只能在声明局部内部类的方法中产生
局部内部类只能访问其声明方法中的常量,非常量不能使用
内部类主要的作用:
封装一些复杂的数据,不对外装箱的类型:
装箱的概念:
把基本数据类型封装成引用数据类型(在1.5版本之前要手动装箱)
基本数据类型与之对应的包装类有:
整形——Integer
short——Short
long——Long
char——Character
boolean——Boolean
byte——Byte
...........(其他首字母大写)
枚举类:当类被加载的时候预先创建好多个对个对象供外部的对象使用,也就是说对象由自身创建,外部的其他类不用创建,直接拿来用就可以了。
public enum Color{
RED,BLUE,BLACEK.......(可以先构造很多相当于一个类)
枚举类的值是常量所以可以放在switch中查找
StringBuilder:它是一个动态字符串
他底层是一个字符数组,用默认构造方法的话大小为16,超过的话会在内存中开辟一个原先16*2+2的新数组,再把原先数组中的数据拷贝到新数组中
}
阅读全文
0 0
- 内部类——一目了然
- 内部类——静态内部类
- 内部类——局部内部类
- 内部类——匿名内部类
- java—内部类
- Java—内部类
- Java笔记——静态内部类/内部类
- 黑马程序员——内部类、匿名内部类
- java——内部类、匿名类、静态内部类
- JAVA基础——内部类、匿名内部类
- 黑马程序员——内部类、匿名内部类
- 内部类——非静态内部类
- 内部类——内部类的使用
- 内部类——内部类的继承
- 黑马程序员——java 内部类、匿名内部类
- Java内部类(一)——匿名内部类
- 黑马程序员—内部类与匿名内部类 异常
- 黑马程序员—内部类、匿名内部类
- 000034:将所有整型数值全部转换成int型输出
- target_link_libraries(<target> <PRIVATE|PUBLIC|INTERFACE> <lib>...)
- 多屏幕最佳实践
- Python2、3 默认字节码以及转码规则
- SQL Server 2008 R2——VC++ ADO 操作 参数化查询
- 内部类——一目了然
- POJ 3253 Fence Repair(贪心)
- bzoj1026: [SCOI2009]windy数
- 前端一些可爱的小插件之Parallax.js &jqueryCountup.js
- AndroidStudio 使用Release签名进行Debug 多渠道打包 混淆 全局配置
- Android如何使用以及配置KotLin
- 机器学习经典算法之-最小二乘法
- PHP实现Floyd算法
- 获取APK 的启动Activity名称