课时127:static定义内部类

简介: 1.使用 Static 定义内部类2.使用 Static 定义内部接口3.Static 定义内部接口的主要功能

课时127:static定义内部类

摘要:

1. 使用 Static 定义内部类

2.Static 定义内部接口的形式

 

01.使用 Static 定义内部类

 

1.1 Static 的定义


在内部类上使用 Static 定义,那么这个内部类就变成“外部类 ”,Static 定义的都是独立于类的结构,所以该类结构就是一个独立的程序类。需要注意的是,Static 定义的不管是类还是方法只能够访问 Static 成员,所以 Static 定义的内部类只能够访问外部类中的 Static 属性或方法:

 

1.2 范例:使用 Static 定义内部类


class Outer  {
private static final String MSG  = "www.mldn.cn" ;
static class Inner  {
public void print ()  {
System.out.println(Outer.MsG)  ;
}
}
}

image.png

这个时候的 Inner 类是一个独立的类,如果此时要想实例化 Inner 类对象,只需要根据“外部类.内部类”的结构实例化对象即可,格式如下:外部类.内部类 内部类对象 = new 外部类.内部类()

这个时候的类名称带有“.”。

范例:实例化 Static 内部类对象

public class JavaDemo {
public static void main(stringargs [] ) {
Outer.Inner in =new Outer.Inner() ;
in.print () ;
}
}

image.png

 

02.Static 定义内部接口的形式

 

2.1 Static 定义的内部类


在开发之中发现类名称上提供有“.”这是一个内部类的结构,如果可以直接进行实例化,则这是一个 Static 定义的内部类。


以 Static 定义内部类的形式并不常用,Static 定义内部接口的形式最为常用。

 

2.2 范例:使用 Static 定义内部接口


interface IMessageWarp  {  // 消息包装
static interface IMessage  {
public string getContent () ;
    }
static interface IChannel { 
public boolean connect () ;  // 消息的发送通道
    }
Public static void send(IMessage msg,IChannel channel ) { 
If (channel.connect() )  {
System.out.println(msg.getContent () ) ;
} else {
System.out.println("消息通道无法建立,消息发送失败!") ;
          }
}
}
class DefaultMessage implements IMessageWarp.IMessage {
public String getContent() { 
return "www.mldn.cn" ;
}
}
class NetChannel implements IMessageWarp.Ichannel {
public boolean connect () {
return true ;
}
}
public class JavaDemo  {
public static void main(string args[]) { 
IMessageWarp.send(new DefaultMessage() , new Netchannel() ) ;
        }
}

image.png

 

2.3总结


使用 Static 可定义的内部接口,是属于一组相关的定义,有了外部接口之后,可以更加明确的描述出这些接口的主要功能。


这些接口都是作为一个统一的管理,所以内部接口在我们日后开发中,它会出现的比较多,而且在系统库学习中也会见到许多的内部接口加 Static 出现形式较多。

相关文章
|
3月前
|
缓存 监控 网络协议
二级域名不死原理 网站抗封防封新策略 域名防护指南
本文围绕二级域名不死技术展开,核心介绍其定义、实现原理、应用场景及注意事项:二级域名不死指一级域名封禁后下属二级子域名仍可正常访问,通过独立 DNS 解析、CDN 协同、智能监测轮换三大机制实现,广泛应用于社交媒体推广、在线教育、企业官网与电商等场景,能有效降低域名封禁风险、保障网站稳定运营;同时强调该技术无法完全杜绝封禁,运营者需合规经营。本文还结合 DNS 解析防封、CDN 域名保护等技巧,为网站抗封提供全方位参考。
|
分布式计算 DataWorks API
一分钟“零代码”生成API,DataWorks数据服务快速上手指南
DataWorks数据服务提供了快速生成API的能力,可以一分钟“零代码”生成API,本文是一篇快速上手指南,帮助你快速认识数据服务。
12729 0
|
7月前
|
人工智能 弹性计算 应用服务中间件
阿里云建站费用价格整理:3种建网站方法,价格优惠,哪个更适合你?
阿里云建站费用大揭秘!3种方式任选:会技术可选38元/年起云服务器自建站;无基础推荐万小智AI建站,698元/年起送CN域名;企业定制选云·企业官网,专业设计5480元/年起。价格透明,优惠多多,适合个人到大型企业不同需求,轻松搭建专属网站。
359 3
|
存储 算法
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
这篇文章详细介绍了图的概念、表示方式以及深度优先遍历和广度优先遍历的算法实现。
458 1
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
|
11月前
|
存储 Linux 测试技术
HPE SPP 2025.07.00.00 - HPE 服务器固件、驱动程序和系统软件包
HPE SPP 2025.07.00.00 - HPE 服务器固件、驱动程序和系统软件包
427 4
|
11月前
|
JSON 安全 API
Python处理JSON数据的最佳实践:从基础到进阶的实用指南
JSON作为数据交换通用格式,广泛应用于Web开发与API交互。本文详解Python处理JSON的10个关键实践,涵盖序列化、复杂结构处理、性能优化与安全编程,助开发者高效应对各类JSON数据挑战。
497 1
|
10月前
|
关系型数据库 MySQL 数据库
云时代MySQL:RDS与自建数据库的抉择
在云计算时代,选择合适的数据库部署方案至关重要。本文深入对比了AWS RDS与自建MySQL的优劣,帮助您在控制权、运维成本和业务敏捷性之间找到最佳平衡点。内容涵盖核心概念、功能特性、成本模型、安全性、性能优化、高可用方案及迁移策略,为您提供全面的决策参考。
|
网络协议 网络架构
OSPF中的Not-So-Stubby Area (NSSA):概念、配置与应用
OSPF中的Not-So-Stubby Area (NSSA):概念、配置与应用
670 3
|
消息中间件 存储 Prometheus
Kafka集群如何配置高可用性
Kafka集群如何配置高可用性
645 1
|
前端开发 JavaScript 新能源
【Echarts大屏】新能源汽车大屏(附源码一键复制)
【Echarts大屏】新能源汽车大屏(附源码一键复制)