内部类
-
内部类就是在一个类的内部定义一个类,比如,A类中定义一个B类,那么B类相对与A类来说就被称为内部类,而A类相对B类来说就是外部类。
-
1,成员内部类
-
2,静态内部类
-
3,局部内部类
-
4,匿名内部类
package com.oop.Demo10; //此段代码主要展示类和接口的其他各种写法,但是不建议使用,会降低程序的可读性 public class Outer { private int id = 10; public void out(){ System.out.println("这是外部类的方法"); } //这是局部内部类(写在方法里的内部类) public void method(){ class Inner1{ public void in(){ } } } public class Inner{ public void in(){ System.out.println("这是内部类的方法"); } //获得外部类的私有属性,私有方法 //静态内部类无法直接访问非静态外部类 //一个类里面可以有多个class,但只能有一个public class public void getID(){ System.out.println(id); } } } /* Outer outer = new Outer(); //通过这个外部类来实例化内部类 Outer.Inner inner = outer.new Inner(); inner.in(); inner.getID(); */
package com.oop.Demo10; public class Test { public static void main(String[] args) { //没有名字初始化类,不用将实例保存到变量中 new Apple().eat(); new UserService(){ @Override public void hello() { } }; } } class Apple{ public void eat(){ System.out.println("1"); } } interface UserService{ void hello(); }