内部类
package mypkg.demo01public class Outer{private int id;public void out(){System.out.println("外部类方法");}public class Inner{public void in(){System.out.println("内部类方法");}}
}
import mypkg.demo01.Outer
public class test{public static void main(String[] args){Outer outer = new Outer();Outer.Inner inner = outer.new Inner();}
}
- 静态的内部类无法访问外部类的非静态的成员,因为内部类会在类加载时候被加载,而此时外部类还未实例化,内部成员还未存在
- 一个java类中可以有多个class,但是只能有一个public class
- 匿名类:
public class Test{public static void main(String[] args){new A().method();//匿名类可以不使用引用初始化类,即不需要将实例保存至变量中}class A{public void method(){Systen.out.println("1");}}
}
异常(Exception)
三种异常
- 检查性异常:比如用户错误或者问题引起的异常,无法预见,例如打开一个不存在的文件,不可在编译时被忽略
- 运行时异常:是可被避免的异常,可以在编译时被忽略
- 错误:错误不是异常,例如栈溢出
- java把异常当作对象处理,并定义基类java.lang.Throwable作为所有异常的基类,Java API中定义如下: