从外部如何访问静态内部类

从外部如何访问一个类的静态内部类的成员及方法... 从外部如何访问一个类的静态内部类的成员及方法 展开
 我来答
Unlessheart
推荐于2017-09-14 · TA获得超过3168个赞
知道答主
回答量:250
采纳率:93%
帮助的人:49.4万
展开全部
一、外部类访问内部类的成员需要创建内部类的对象,之后可以访问内部类的任何成员,包括private成员,需要注意的是成员内部类不可以有静态成员。
二、内部类不可以直接实例化,要通过外部类才可以,但是静态成员要求系统默认初始化,所以会出现矛盾,解决的好办法就是规定:成员内部类不可以有静态成员,静态初始化块,静态方法等。
三、在static方法(类加载时已经初始化)调用内部类的必须先创建外部类。
下面在说下嵌套类:如果你不需要内部类对象与其外围类对象之间有联系,那你可以将内部类声明为static。这通常称为嵌套类(nested
class)。想要理解static应用于内部类时的含义,你就必须记住,普通的内部类对象隐含地保存了一个引用,指向创建它的外围类对象。然而,当内部
类是static的时,就不是这样了。嵌套类意味着:  

1. 要创建嵌套类的对象,并不需要其外围类的对象。 

2. 不能从嵌套类的对象中访问非静态的外围类对象。
Storm代理
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
秒杀腹黑菟
推荐于2017-09-04 · TA获得超过502个赞
知道小有建树答主
回答量:142
采纳率:100%
帮助的人:70.2万
展开全部
首先内部静态类和其成员必须是public或者protected的,public时可以直接从外部访问,protected则只能通过继承访问

如果其成员和方法都为静态的
可以直接访问,如
A.B.静态成员
A.B.静态方法

但是如果其成员和方法都不是静态的,则需要通过创建对象的方式访问
比如
public class A {
public static class B {
public String c = "";
public void D() {
}
}
}
要访问内部静态类B的成员c和方法D
则需要创建对象才行,如
A.B ab = new A.B();
String w = ab.c;
ab.D()
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e93f3ad
2012-11-02 · 超过32用户采纳过TA的回答
知道答主
回答量:130
采纳率:0%
帮助的人:102万
展开全部
外部类.内部类.静态成员(方法)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式