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两个类里的成员变量

相关推荐
CCPC不拿奖不改名7 分钟前
数据处理与分析:数据可视化的面试习题
开发语言·python·信息可视化·面试·职场和发展
alonewolf_998 分钟前
深入解析G1与ZGC垃圾收集器:原理、调优与选型指南
java·jvm·算法
液态不合群10 分钟前
线程池和高并发
开发语言·python
小镇学者10 分钟前
【c++】C++字符串删除末尾字符的三种实现方法
java·开发语言·c++
rfidunion11 分钟前
springboot+VUE+部署(1。新建项目)
java·vue.js·spring boot
小翰子_12 分钟前
Spring Boot整合Sharding-JDBC实现日志表按月按周分表实战
java·spring boot·后端
weixin_3993806919 分钟前
OA 系统假死问题分析与优化
java·运维
SmartRadio22 分钟前
在CH585M代码中如何精细化配置PMU(电源管理单元)和RAM保留
linux·c语言·开发语言·人工智能·单片机·嵌入式硬件·lora
豆沙沙包?39 分钟前
2026年--Lc334-2130. 链表最大孪生和(链表转数组)--java版
java·数据结构·链表
柒.梧.1 小时前
SSM常见核心面试问题深度解析
java·spring·面试·职场和发展·mybatis