access-modifiers相关内容
我想知道非静态方法如何修改静态变量.我知道静态方法只能访问其他静态方法和静态变量.然而,另一面是真的吗?非静态方法只能访问非静态变量吗?例如: public class SampleClass {私有静态 int currentCount = 0;公共示例类(){当前计数++;}公共无效增加计数(){当前计数++;}} 这段代码可以编译,我想知道静态访问权限方面的原因. 解决方案 我从
..
需要对私有变量和继承有更多的了解.早些时候我的理解是,如果类中有字段,并且当我继承该类时,不受访问限制(私有变量)的字段将存在于继承类中.但是如果有公共 g/setter 方法,我可以在基类中使用私有变量. 我怎么能想象基类中的私有变量.? 解决方案 class A {私人内部;公共 A(int a) { this.a = a;}public int getA() {返回一个;}}B
..
考虑以下片段: struct Base{虚拟 ~Base() {}虚空 Foo() const = 0;//上市};班级儿童:公共基地{virtual void Foo() const {}//私有};int main(){儿童儿童;child.Foo();//不会工作.Foo 在这种情况下是私有的.static_cast(孩子).Foo();//好的.Foo 在这种情况下是公开的
..
在 Visual Studio 中编程 C++ 时,它坚持在访问修饰符上给我这些可怕的缩进 - 如果有人真的喜欢这种方式,我表示哀悼;)(开玩笑的伙计们!) 公共类MyClass{上市:我的课();~MyClass();int wowAnInt();} 不用说,我想要这个: 公共类MyClass{上市:我的课();~MyClass();int wowAnInt();} 有什么方法可以使用任
..
在 C# 中,我们不能在覆盖基类方法时更改访问修饰符.例如 类库{**受保护** 字符串 foo(){返回“基础";}}派生类:基类{**public** 覆盖字符串 foo(){返回“派生的";}} 这在 C# 中无效,它会给出编译时错误. 我想知道原因,为什么不允许这样做.是否有任何技术问题或是否会导致访问限制不一致? 解决方案 在派生类型中更改方法的访问修饰符毫无意义,这就
..
在面向对象编程中什么是公共的、私有的和受保护的? 解决方案 它们是访问修饰符并帮助我们实施 封装(或信息隐藏).它们告诉编译器哪些其他类应该可以访问正在定义的字段或方法. private - 只有当前类可以访问字段或方法. protected - 只有该类的当前类和子类(有时还有同包类)才能访问该字段或方法. public - 任何类都可以引用该字段或调用该方法.
..
在 VB6/VBA 中,您可以在特定的 Sub 或 Function 方法之外声明模块级变量.我在模块内部之前使用过 Private 和 Public 并像这样理解它们: Public - 对模块内的所有代码和模块外的所有代码可见,基本上使其成为全局的. Private - 仅对模块内的代码可见. 我注意到您可以使用 Dim 和 Global 作为模块化变量的修饰符.Dim 和 Gl
..
在 Objective-C 中,实例数据可以是 public、protected 或 private.例如: @interface Foo : NSObject{@民众整数 x;@保护:输入 y;@私人的:内部 z;}-(int) 苹果;-(int) 梨;-(int) 香蕉;@结尾 我在 Swift 参考中没有发现任何提及访问修饰符的内容.是否可以在 Swift 中限制数据的可见性? 解
..
类、方法、成员、构造函数、委托和接口的默认访问修饰符是什么? 解决方案 C# 中所有内容的默认访问权限是“您可以为该成员声明的最受限制的访问权限". 例如: 命名空间 MyCompany{类外{void Foo() {}类内部{}}} 相当于 命名空间 MyCompany{内部类 外部{私有无效 Foo() {}私有类内部{}}} 一种例外情况是使属性的一部分(通常是 set
..
我大学时代一直在使用public,想知道public、private和的区别受保护? 还有什么是 static 的作用而不是什么都没有? 解决方案 访问修饰符 来自 docs.microsoft.com: public 同一程序集或引用它的另一个程序集中的任何其他代码都可以访问该类型或成员. 私有 类型或成员只能被同一类或结构中的代码访问. 受保护
..
我知道可以在包级别访问具有默认访问控制的类成员,但我对包级别访问的实际含义感到困惑.如果可以在包级别访问默认成员,那么我不应该在以下示例中的 Test2 类中可见吗?1级- package pkg1;公共类测试{国际我= 0;} 类 2- import pkg1.Test;公共类 Test2 {无效获取(){测试 t = 新测试();t.i=0;}} 请帮我理解这个概念.提前致谢.
..
我今天在做一些代码审查,发现了一些开发人员编写的旧代码.事情是这样的 公共抽象类 BaseControl{内部抽象 void DoSomething();} 如果你在同一个程序集中有一个派生类,它会工作 公共类 DerivedControl : BaseControl{内部覆盖 void DoSomething(){}} 但是在不同的程序集中派生基类会导致编译时错误 DerivedCon
..
能否请您解释一下 C# 中 internal 关键字的实际用法? 我知道 internal 修饰符限制了对当前程序集的访问,但是我应该在什么时候以及在什么情况下使用它? 解决方案 您希望从同一程序集中的许多其他类访问的实用程序或帮助程序类/方法,但您希望确保其他程序集中的代码可以'访问. 来自 MSDN(通过archive.org): 内部访问的一个常见用途是在基于组件的
..
如果我没有明确说明,方法或实例变量的默认访问修饰符是什么? 例如: 包 flight.booking;公共类 FlightLog{私人特定航班;FlightLog(SpecificFlight 航班){this.flight = 飞行;}} 这个构造函数的访问修饰符是protected还是package?flight.booking 同一个包中的其他类可以调用这个构造函数吗? 解决
..
为什么 Java 指定覆盖方法的访问说明符可以允许比覆盖方法更多但不能更少的访问?例如,超类中的受保护实例方法可以在子类中设为公有,但不能设为私有. 解决方案 这是 OOP 中的一个基本原则:子类是父类的成熟实例,因此必须至少呈现相同 接口作为父类.使受保护/公共事物不那么明显会违反这个想法;您可以使子类无法用作父类的实例.
..
我在 package1 中有一个名为 A 的类,在 package2 中有另一个名为 C 的类.C 类扩展了 A 类. A 有一个实例变量,声明如下: protected int protectedInt = 1; 这是A类的代码 package package1;公共类 A {public int publicInt = 1;private int privateInt = 1;in
..
在 Java 中,是否有明确规定何时使用每个访问修饰符,即默认(包私有)、public、protected 和 private,同时制作class和interface并处理继承? 解决方案 官方教程可能对你有用. 班级包装子类 (相同的包)子类 (diff pkg)世界 public + + + + + 受保护 + + + + 无修饰符 + + + 私有 + +:可
..
我今天在做一些代码审查,发现了一些开发人员编写的旧代码.事情是这样的 公共抽象类 BaseControl{内部抽象 void DoSomething();} 如果你在同一个程序集中有一个派生类,它会工作 公共类 DerivedControl : BaseControl{内部覆盖 void DoSomething(){}} 但是在不同的程序集中派生基类会导致编译时错误 DerivedCon
..
能否请您解释一下 C# 中 internal 关键字的实际用法? 我知道 internal 修饰符限制了对当前程序集的访问,但是我应该在什么时候以及在什么情况下使用它? 解决方案 您希望从同一程序集中的许多其他类访问的实用程序或帮助程序类/方法,但您希望确保其他程序集中的代码可以'访问. 来自 MSDN(通过archive.org): 内部访问的一个常见用途是在基于组件的
..
在 Java 中,是否有明确规定何时使用每个访问修饰符,即默认(包私有)、public、protected 和 private,同时制作class和interface并处理继承? 解决方案 官方教程可能对你有用. 班级包装子类 (相同的包)子类 (diff pkg)世界 public + + + + + 受保护 + + + + 无修饰符 + + + 私有 + +:可
..