内部类
在java中,一个类可以嵌套另一个类
内部类就是在一个类中再创建一个类
如果想要访问内部类,必须先实例化外部类,再实例化内部类。
public class Outer {
public void outer(){
System.out.println("This is outer");
}
public class Inner{
public void inner(){
System.out.println("This is inner");
}
}
}
上述代码就是一个外部类嵌套一个内部类的形式,想要访问内部类就必须先实例化外部类,再实例化内部类
public class Application {
public static void main(String[] args) {
Outer outer = new Outer();
outer.outer();
Outer.Inner inner = outer.new Inner();
}
}
内部类的强大之处在于,他可以访问外部类的方法和属性
依旧是上述代码,添加属性等
public class Outer {
private int id=100000;
public void outer(){
System.out.println("This is outer");
}
public void packet(){
//局部内部类
class B{
}
}
public class Inner{
public void inner(){
System.out.println("This is inner");
}
//获得外部类的私有属性
public void getid(){
System.out.println(id);
}
}
}
创建一个测试类
public class Application {
public static void main(String[] args) {
Outer outer = new Outer();
outer.outer();
Outer.Inner inner = outer.new Inner();
inner.inner();
inner.getid();
}
}
由此可见,内部类可以直接访问外部类的方法和属性
在方法里定义的类叫做局部内部类
匿名类
public class Test {
public static void main(String[] args) {
//匿名类
new Apple().eat();
}
}
class Apple{
public void eat(){
System.out.println("这是一个匿名类");
}
}
创建了类之后,可以不用对象访问类里的方法这就是匿名类,他们没有对象。
写在最后
想要进大厂就得每天都付出点汗水