一.内部类
1.内部类: 一个类的内部又嵌套了另一个类的结构,被称为内部类.
2.类的五大成员: (1)属性 (2)方法 (3) 构造器 (4) 代码块 (5) 内部类
3.内部类最大的特点是可以直接访问私有属性.
4.内部类有四种:
方法内:
(1)局部内部类 (有类名) (2) 匿名内部类 (没有类名)
成员位置:
(1)成员内部类 (2) 静态内部类
5.局部内部类: 定义在局部位置,通常在方法中.
(1) 可以访问外部类所有成员,包含私有的
(2)不能添加修饰符,但是可以用final修饰
(3) 如果局部内部类和外部类有同样的变量,那么在内部类中访问的变量遵循就近原则,如果想调用外部类的那个属性,则通过 外部类名.this.变量名 这种格式访问.
6.匿名内部类:定义在局部位置,通常在方法中.
(1)它不仅是一个类,还是一个对象.
(2)基本语法 new 类名或接口名(){}.
7.成员内部类: 定义在外部类的成员位置.
(1)可以用修饰符修饰.
(2)作用域:作用在整个类体中.
(3)外部其他类如何使用成员内部类 : 外部类对象.new 内部类对象名();
8.静态内部类: 定义在外部类成员位置,但是它由static修饰
(1)可以直接访问外部类的静态成员,不能直接访问非静态成员.
(2)可以添加访问修饰符.
(3) 作用域: 整个类体
二.枚举
三.注解
三个基本的注解:
(1).@Override: 限定某个方法,是重写父类方法, 该注解只能用于方法
四.异常
1.java语言中,将程序执行中发生的不正常情况成为"异常".(开发过程中的语法错误和逻辑错误不是异常)
2.异常分为两大类:
(1) Error(错误) : java虚拟机无法解决的严重问题. 比如: jvm系统内部错误、资源耗尽等严重情况。比如: StackOverflowError栈溢出 和 OOM(out of memory),error是严重错误,程序会崩溃,而且无法处理这种异常。
(2) Exception: 其他因编程错误或偶然的外在因素导致的一般性问题,可以进行处理,例如空指针访问,试图读取不存在的文件,网络连接断等, Exception分为两大类: 运行时异常(程序运行时发生的异常)和编译时异常(编程时,编译器检查出来的异常).
3.
3.五大常见的运行时异常
(1). NullPointerException 空指针异常
![](https://img-blog.csdnimg.cn/2c52f5b79eaf4cfb8f4ddfb8f2e2e552.png)
public static int test() {
int a=1;
try {
int i = 1 / 0;
return 10;
} catch (Exception e) {
return a; //先保存当前a的值,待执行完finally后再return
} finally {
a+=a;
}
}
上面的代码返回值为1;
五.包装类
1.包装类: 针对八大基本数据类型相应的引用类型-包装类.
2.jdk1.5之后出现了自动装箱,自动拆箱.
自动装箱: 将一个int数据赋给一个Integer引用,(调用的是Integer.valueOf(int类型的数据));
自动拆箱: 将一个Integer对象赋给一个int类型的变量, (调用的是Integer.intValue());
3.包装类型和String的互转
以Integer为例:
包装类型转为String类型: (1) Integer a=1; String str=a+"";
(2)Integer a=1; String str=a.toString();
(3)Integer a=1; String str=Stringt.valueOf(a);
String类型转为包装类型:(1) String str="123"; Integer a=Integer.parseInt(str);
(2) String str="123" Integer a=new Integer(str);
4.Integer会缓存-128-127这些整型数据对应的对象,在这个范围内的Integer对象都是同一个对象.
5.String字符串:
(1)String 类实现了接口 Serializable【String 可以串行化:可以在网络传输】
![](https://img-blog.csdnimg.cn/e50f31d61cf949fca7ab50ca9a2f3e01.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Z2i5ZCR5bel5L2c57yW56iL55qE56iL5bqP54y_,size_16,color_FFFFFF,t_70,g_se,x_16)