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

相关推荐
1024奇点1 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
Warren2Lynch2 小时前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
天河归来2 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL2 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
FRing033 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
by209993 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河4 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
IT召唤狮4 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
知已难寻4 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
Rover Ramble4 小时前
C++ 用互斥锁实现读写锁
开发语言·c++