class A{
private :
static void func1();
public:
void func2();
class B{
private:
void func3();
public:
void func4(){
func1();//这里为什么可以访问?
func2();//为什么即使是public也不可访问呢?
}
};
};
如果不定义嵌套类,为什么就不可以访问私有静态函数呢?
è¿æ¯ä¹¦ä¸çä¸ä¸ªä¾é¢ï¼æè§å¾ä¹±ï¼æ以é®é®ããã为ä»ä¹è¦è®¾è®¡åµå¥ç±»å¢ï¼ç¨èéæè 继æ¿å®å ¨å¯ä»¥è§£å³å
追ç课æ¬ä¸åçä¸è¥¿æªå¿
é½æç¨
åªæ¯è¯´è¿æ ·åå¨C++å
许èå´å
æ以å¦C++çæ¶åæ好ç¥éæè¿ä¹ä¸ªä¸è¥¿
并ä¸ä»£è¡¨å®å¥½ç¨
å
¶å®è¿ç§åæ³ ä¸ªäººè®¤ä¸ºæ¯ä»Cè¯è¨ç»æä½åµå¥ç»§æ¿è¿æ¥ç
å¨C++ä¸struct被classå®ç¾ç»§æ¿ æ以ä¹å¿
é¡»è¦ç»§æ¿è¿ç§åµå¥è¯æ³
ä½æ¯å¹¶ä¸ä»£è¡¨è¿ä¸è¥¿æå¤ä¹é«æåæç¨
ä¸å®¶ä¹è¨ ä»
ä¾åè
æ»æè§C++çCLASSæªæªçï¼å¦è¿javaä¹åååè¿æ¥å¦ä¹ C++æ»æ³çå¨JAVAä¸å¯ä»¥ææ ·ç®åï¼å¯æ¯C++è½å¤ççäºæ javaæçè¿æ¯ä¸è½å®æãåãããä¹æ¯æ²¡åæ³çäºï¼ååç¢éªå§- -ä½ æ³ä¸ä¸ªå·¥å ·æ æä¸è½ï¼åæ³çå®è¿3å²å°å©é½å¯ä»¥ä½¿ç¨ç»ç©¶æ¯å¾å°é¾çäºæ åãããä¸åæè°¢å¦~~
为什么Java内部类要设计成静态和非静态两种
1. 嵌套类的对象,并不需要其外围类的对象。 即它可以不依赖于外部类实例被实例化。2. 不能从嵌套类的对象中访问非静态的外围类对象。 这是由Java语法中"静态方法不能直接访问非静态成员"所限定 3. 外部类访问内部类的的成员有些特别, 不能直接访问, 但可以通过内部类实例来访问, 这是因为静态...
c# :嵌套类是什么意思?怎么用?好处是?
嵌套类型可以自由访问外层类型的成员,而不在乎那些成员是否私有。外层类型如果想访问嵌套类型,则要受到访问规则的限制。不管外层类型是类型还是结构,嵌套类型均默认为 private,但是可以设置为 public、protected internal、protected、internal 或 private。如果嵌套类型是private或protected的,嵌套类型对外层类型...
java中静态内部类和内部类的区别
和普通的类一样,内部类也可以有静态的。不过和非静态内部类相比,区别就在于静态内部类没有了指向外部的引用。这实际上和C++中的嵌套类很相像了,Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用这一点上,当然从设计的角度以及以它一些细节来讲还有区别。除此之外,在任何非静态内部类中...
Java面试题—内部类和静态内部类的区别
首先,让我们从内部类谈起。非静态内部类就像一个嵌套在外部类中的小型容器,它拥有自己的独立生命周期。内部类中的成员变量和方法不能声明为静态,因为它们需要依赖外部类实例来存取。实例化内部类的方式是通过外部类的实例来完成,例如:A.B b = new A().new B(); 这确保了内部类可以访问外部类...
C#中,静态类和非静态类的区别是什么?
静态类是不能实例化的,我们直接使用它的属性与方法,静态类最大的特点就是共享。 静态类中的所有成员必须是静态的。 静态类可以有静态构造函数,静态构造函数不可继承。 静态构造函数可以用于静态类,也可用于非静态类。 静态构造函数无访问修饰符、无参数,只有一个 static 标志。 静态构造函数不可被...
fetch.php是什么类型的文件?
(16)内存:PHP 4.0 能更有效的使用内存, 导致较少的内存占用消耗,这主要归功于引用计数技术的实现。 (17)其他类成员函数:在 PHP 4.0 你能在成员函数本身的作用域或全局范围内调用其他类的成员函数。例如,你能用一个子函数覆盖父函数,并在子函数中调用父函数。 (18)多维数组:在 PHP 4.0 ,利用GET,POST,...
const与static有什么区别
1、对于静态的数据成员,连接器会确保他拥有一个单一的外部定义。静态数据成员按定义出现的先后顺序依次初始化,注意静态成员嵌套时,要确保所嵌套的成员已初始化了。消除时的顺序是初始化的反顺序。2、类的静态成员函数是属于整个类而非类的对象,所以他没有this指针,这就导致了他仅能访问类的静态数据...
构造函数和析构函数
私有构造函数是一种特殊的实例构造函数 它通常用在只包含静态成员的类中 如果类具有一个或多个私有构造函数而没有公共构造函数 则不允许其他类(除了嵌套类)创建该类的实例 例如 class NLog { \/\/ Private Constructor:private NLog() {} public static double e = ;} 声明空构造函数可阻止自动生成...
理解Lua的闭包机制
在某些静态语言如Java中,函数不可作为对象传递。然而,从底层看,任何对象本质上都是数据,可被记录与传递。函数也不例外,在C中,可通过函数指针传递,C#中则利用委托。尽管都实现了函数传递,但它们在细节上有显著差异。C中的函数传递需定义指针原型,而C#则通过委托机制实现。闭包概念的引入,关键在于...
JAVA.包 JAVA类 JAVA APPLET ...等跟JAVA挨得上边得都要!
一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 故 A、B 错二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。故D 错三.非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确四.答案为C、E5、Java 的通信编程,编程题(或...