D 如何为模块设置私有方法?
我在一个模块中有两个D类。我希望A类有一个只能从A类和B类访问的属性。我将如何做到这一点D 如何为模块设置私有方法?,d,private-members,D,Private Members,我在一个模块中有两个D类。我希望A类有一个只能从A类和B类访问的属性。我将如何做到这一点 class A { int a = 5; // Make this accessible to, and only to, B. } class B { this(in A pA) { int b = pA.a; } } 只需添加private 访问修饰符是基于模块的,受保护的是唯一的例外 (emph矿) Private表示只有封闭类的成员才能访问成员,或与封闭
class A {
int a = 5; // Make this accessible to, and only to, B.
}
class B {
this(in A pA) {
int b = pA.a;
}
}
只需添加
private
访问修饰符是基于模块的,受保护的
是唯一的例外
(emph矿)
Private表示只有封闭类的成员才能访问成员,或与封闭类位于同一模块中的成员和函数。不能重写私有成员。私有模块成员相当于C程序中的静态声明
只需添加
private
访问修饰符是基于模块的,受保护的
是唯一的例外
(emph矿)
Private表示只有封闭类的成员才能访问成员,或与封闭类位于同一模块中的成员和函数。不能重写私有成员。私有模块成员相当于C程序中的静态声明
private
是模块专用的,而不是类专用的。因此,将一个符号标记为private
可以使它只有该模块中的东西才能访问它
package
使得只有同一个包中的东西才能访问符号
protected
使得只有该类和从该类派生的类中的内容才能访问符号(与其他内容不同,protected
在类之外没有意义)
public
使得任何东西都可以访问该符号
private
和package
函数从来都不是虚拟的,而protected
和public
函数总是虚拟的,除非编译器能够确定它们不需要虚拟(在这一点上,只有当函数是final
且不重写基类中的函数时,才会发生这种情况)
因此,只要您的两个类位于同一个模块中,并且它们的成员是私有的,它们就可以访问彼此的成员,就像模块中的任何其他对象一样,但是模块外的任何对象都不能访问它们。除了当符号是函数的本地符号时,没有办法限制模块内的访问,因此如果您想使其成为私有的如果一个类不能访问另一个类的成员,那么您需要将它们放在单独的模块中。
private
是模块的私有,而不是类的私有。因此,将符号标记为private
会使该模块中的内容只能访问它
package
使得只有同一个包中的东西才能访问符号
protected
使得只有该类和从该类派生的类中的内容才能访问符号(与其他内容不同,protected
在类之外没有意义)
public
使得任何东西都可以访问该符号
private
和package
函数从来都不是虚拟的,而protected
和public
函数总是虚拟的,除非编译器能够确定它们不需要虚拟(在这一点上,只有当函数是final
且不重写基类中的函数时,才会发生这种情况)
因此,只要您的两个类位于同一个模块中,并且它们的成员是私有的,它们就可以访问彼此的成员,就像模块中的任何其他对象一样,但是模块外的任何对象都不能访问它们。除了当符号是函数的本地符号时,没有办法限制模块内的访问,因此如果您想使其成为私有的如果一个类不能访问另一个类的成员,那么您需要将它们放在单独的模块中