在Java中,有没有关于何时使用每个访问修饰符,即默认明确的规则(包私有)public,protected并且private,同时使class与interface和处理继承?
我所有的大学四年我一直在使用public,并想知道的区别public,private和protected?
还有什么可以static做而不是什么都没有?
能否解释一下,internalC#中关键字的实际用途是什么?
我知道internal修饰符限制了对当前程序集的访问,但我什么时候需要呢?
C#中的访问修饰符internal和有效private访问修饰符有什么区别?
在Objective-C实例中,数据可以是public,protected或private.例如:
@interface Foo : NSObject
{
@public
int x;
@protected:
int y;
@private:
int z;
}
-(int) apple;
-(int) pear;
-(int) banana;
@end
Run Code Online (Sandbox Code Playgroud)
我没有在Swift参考中找到任何访问修饰符.是否可以限制Swift中数据的可见性?
有人可以详细说明C#中'protected'和'protected internal'修饰符之间的区别吗?看起来他们的行为方式相同.
我刚刚意识到C#属性构造也可以与私有访问修饰符一起使用:
private string Password { get; set; }
Run Code Online (Sandbox Code Playgroud)
虽然这在技术上很有意思,但我无法想象何时使用它,因为私人领域涉及更少的仪式:
private string _password;
Run Code Online (Sandbox Code Playgroud)
我无法想象什么时候我需要能够内部获取但不能设置或设置但不能获得私有字段:
private string Password { get; }
Run Code Online (Sandbox Code Playgroud)
要么
private string Password { set; }
Run Code Online (Sandbox Code Playgroud)
但也许有一个嵌套/继承类的用例,或者可能是get/set可能包含逻辑而不是仅仅返回属性的值,尽管我倾向于保持属性严格简单并让显式方法做任何逻辑,例如GetEncodedPassword().
是否有人出于任何原因在C#中使用私有属性,或者它只是那些技术上可能但很少使用的实际代码构造之一?
很好的答案,阅读它们我剔除了私人财产的这些用途:
我看到一些引用引用了Java中的访问修饰符private protected(两个单词一起):
private protected someMethod() {
}
Run Code Online (Sandbox Code Playgroud)
我发现的其中一个页面就是这里.我的课程也提到了这个访问修饰符(并说它存在).但是,使用它会导致Java语言出错.
我尝试了变量和方法,我很确定它不存在,但我想要解释发生了什么.它被考虑了,然后被拒绝了吗?或者是否在较新版本的Java中删除了它?
编辑:我不是在寻找有关该protected关键字的信息.