N种内部类
2022/5/10 23:00:46
本文主要是介绍N种内部类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
内部类
访问内部类
public class Outer { private int id=10; public void out(){ System.out.println("这是外部类的方法"); } public class Inner{ public void in(){ System.out.println("这是内部类的方法"); }
public class Application { public static void main(String[] args) { Outer outer = new Outer();//先new外部类 //通过这个外部类实例化内部类~ Outer.Inner inner = outer.new Inner();//再用外部类对象new内部类 inner.getID(); } }
直接访问外部类的私有变量
package com.oop.demo10; public class Outer { //局部内部类 public void method(){ class Inner{ public void in(){ } } } private int id=10; public void out(){ System.out.println("这是外部类的方法"); } public class Inner{ public void in(){ System.out.println("这是内部类的方法"); } //获得外部类的私有属性~ public void getID(){ System.out.println(id); } } }
静态内部类
静态内部类不能访问非静态属性
package com.oop.demo10; public class Outer { //局部内部类 public void method(){ class Inner{ public void in(){ } } } private int id=10; public void out(){ System.out.println("这是外部类的方法"); } public class Inner{ public void in(){ System.out.println("这是内部类的方法"); } //获得外部类的私有属性~ public static void getID(){ System.out.println(id);//id报错 } } }
局部内部类
public class Outer { //局部内部类 public void method(){ class Inner{ public void in(){ } } } }
匿名内部类
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(); }
搜索
复制
这篇关于N种内部类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略