是否C#允许以下的事情:
让我们说我已经namespace X和namespace X.Y.
如何class MyClass在命名空间X.Y内部使用命名空间,以便MyClass无法访问namespace X?
只是一个简单的问题,如果你在一个名为Example.java的文件中有以下代码:
package MyPackage;
public class Example{
void foo(){}
...
...
}
class A{}
class B{}
Run Code Online (Sandbox Code Playgroud)
什么是A类和B类的修饰语?
可能重复:
如何使受保护的AND内部?
即它是一个内部成员,只能从派生自该类的类中访问.
我知道这可能听起来很愚蠢,但我真的很想知道:)我正在学习c#当前,
如你所知,你需要设置"对象"(按钮,标签,文本,变量等)公开或任何你喜欢的.
但是,您仍然需要编写如下代码:
// my point is you cant just type label1.text you need to type class.label1.text
// so there is no chance of getting bugged
//because there is label1 in each of forms/classes
class Classlol = new class();
classlol.label1.blabla
Run Code Online (Sandbox Code Playgroud)
那么以其他形式使其无法达到的重点是什么?为什么每件事都不公开或默认不公开?
谢谢.
我只是开始学习Java(我是学生,而C++是我最熟悉的基础语言),而且我遇到了访问和修饰符.
在代码中我看到了使用
public int NAME;
// and
int NAME;
Run Code Online (Sandbox Code Playgroud)
这有什么不同吗?如果是这样,有什么区别.它究竟做了什么?
我有一组属性,其中一些有privatesetter,其中一些有internalsetter.有没有办法在运行时我可以检查属性的setter是否是internal?
虽然我一直在为PHP开发对象已有一段时间了,但抽象类对我来说有点新鲜.根据我的理解,当我想要定义我希望自己或其他开发人员遵循的方法列表时,我会使用抽象类,同时还提供一些基础方法来构建.
似乎没有办法在抽象类中定义属性,但我觉得这很奇怪.请使用以下代码:
abstract class Gateway {
abstract public function process();
public function set_gateway_key( $key ) {
$this->key = $key;
}
}
Run Code Online (Sandbox Code Playgroud)
这种类型的密钥是您通常希望限制访问以便运行某种验证的密钥.您可以想象一些其他场景.但是,您不得不依赖开发人员扩展此抽象类来设置此访问修饰符.
我错过了什么吗?或者没有办法做到这一点?
在Java中扩展类时,我可以给出覆盖更高或更高访问修饰符的方法,但不能更低.以下是不允许的,因为方法foo中ClassB必须是public:
public class ClassA {
public void foo() {}
}
public class ClassB extends ClassA {
@Override
protected void foo() {}
}
Run Code Online (Sandbox Code Playgroud)
似乎这不适用于构造函数.我可以做以下事情:
public class ClassA {
public ClassA () {}
}
public class ClassB extends ClassA {
protected ClassB() {}
}
Run Code Online (Sandbox Code Playgroud)
为什么会这样?是否有其他规则也适用于构造函数但不适用于方法?
在我的.NET解决方案中,我有两个项目:一个主项目和一个用于针对主项目运行测试的项目.在我的项目中,我有几种方法可以保持"私有",但也想运行测试.是否存在可以将这些功能限制在我的解决方案内部的访问方法?
我有一个应用程序,该应用程序经常使用用Kotlin编写的类,其他类及其用Java编写的方法可以访问这些类。
我在Java中有以下课程:
public class MyDataClass {
public String color;
public String action;
}
Run Code Online (Sandbox Code Playgroud)
我决定将其移至Kotlin:
class MyDataClass {
var color: String = ""
var action: String = ""
}
Run Code Online (Sandbox Code Playgroud)
重新编译后,我现在收到以下错误消息:
/myPath/MyApp.java:[93,20]颜色在myapp.command.MyDataClass中具有私有访问权限
我收到类似的错误action。
根据Kotlin参考,类和属性(以及其他一些东西)的默认可见性修饰符是public。
为什么将这些属性视为private?
access-modifiers ×10
c# ×5
java ×4
.net ×3
oop ×2
constructor ×1
inheritance ×1
kotlin ×1
php ×1
public ×1