java的内部类

内部类

就是位于外部类成员位置的类

特点:

可以使用外部类的成员变量和方法不受private限制

为什么要用内部类:

只在类或接口中执行一次,为了使用不创建新类,减少代码冗余,所以用内部类,可以使用匿名内部类

好处:

可以直接使用外部类成员,使用更加方便。例如在服务器端创建 一个内部类继承Thread,进行监听

意义:

1.将只有在某个类中使用的功能定义在内部中,并可以使用不同访问权限修饰控制

2.可以实现多继承

3.实现封装,将某些功能定义在内部类中,可以通过访问修饰符进行控制

匿名内部类:

有些功能只用一次,没必要创建一个单独类,在java中提供了一个匿名的类,用来实现接口/继承抽象类,在哪使用之间在哪new,例如new接口/抽象类,这个都不是创建接口的对象,而是创建了一个匿名内部类,是对内部类在语法上的一种简化

多继承:
java 复制代码
public class Father{
	public String powerFul = "aa";
}
public class Mother{
	public String wealthy = "bbb";
}
java 复制代码
public class Son{
	class Extends_Father extends Father{
	}
	class Extends_Mother extends Mother{
	}
	public void sayHello(){
		String father=new Extends_Father().powerFul;
		String mother=new Extends_Mother().wealthy;
	}
}

这样子就可以在Son里面使用Mother和Father两个类里的成员变量

相关推荐
方华世界6 小时前
企业级Java AI Agent应用平台
java·开发语言·人工智能
ujainu小7 小时前
原生性能优化:6变量实现高效桥接
开发语言·华为·性能优化·harmonyos
折哥的程序人生 · 物流技术专研7 小时前
第8篇:模板方法模式的优缺点与面试高频考点
java·设计模式·面试·模板方法模式·行为型模式·优缺点·扩充系列
甄同学7 小时前
第十七篇:Bash Executor命令执行器,安全运行Shell命令
开发语言·安全·bash
张3237 小时前
Go语言基础 Map 函数值 闭包
开发语言·golang
杜子不疼.7 小时前
【C++ 在线五子棋对战】- 会话管理模块实现
开发语言·c++
有点。7 小时前
C++深度优先搜索(DFS)的概念(一)
开发语言·c++·深度优先
时间的拾荒人7 小时前
C语言编译与链接:从源码到可执行程序的完整解析
c语言·开发语言
人道领域7 小时前
【0-1的agent进阶篇】Prompt 与上下文工程
java·开发语言·prompt·mcp
aaPIXa6227 小时前
C++大型项目模块化拆分实战记录
开发语言·c++