- 简介:
-
内部类就是在一个类,比如,A类中定义一个类,那么B类相对A类来说就是称为内部类,而A类相对B类来说就是外部类了。
-
- 具体学习
- 成员内部类
- 创建Outer类
package com.oop.demo12; public class Outer { private int id =10; public void out(){ System.out.println("这是外部类的方法"); } public class Inner{ public void in(){ System.out.println("这是内部类的方法"); } //获取外部类的私有属性 public int getId() { System.out.println(id); return 0; } } } - 创建Application类
package com.oop.demo12; public class Application { public static void main(String[] args) { //new Outer outer = new Outer(); //使用内部类可以把外部类实例化在使用内部类 Outer.Inner inner = outer.new Inner(); //调用内部类的方法 inner.in(); //获取id的属性,把getId放在Inner里面 inner.getId(); } }
- 创建Outer类
- 静态内部类
- 在类上加上static就是静态类
- 代码
package com.oop.demo12; public class Outer { //局部内部类 public void method(){ class Inner{ public void in(){ System.out.println("局部内部类"); } } } }
- 局部内部类
- 方法里面定义变量就是局部变量,同理,方法里面定义类就是局部内部类
- 创建Outin
package com.oop.demo12; public class Outin { public static class into{ public void into1(){ System.out.println("静态内部类"); } } }
- 匿名内部类
- 创建Test
package com.oop.demo12; public class Test { public static void main(String[] args) { //没有名字初始化类,不用将实例 new Apple().eat(); UserService userService = new UserService() { @Override public void hello() { System.out.println("hello"); } }; } } class Apple{ public void eat(){ System.out.println("1"); } } interface UserService{ void hello(); }
- 创建Test
- 成员内部类
加油!:
人生不过是一个努力向上的过程,虽然路途曲折,但巅峰的风景值得一试。



