在Java中,有没有关于何时使用每个访问修饰符,即默认明确的规则(包私有)public,protected并且private,同时使class与interface和处理继承?
当您没有在目标C中列出任何内容时,适当的默认属性是什么?
例如,如果我写这个:
@property float value;
Run Code Online (Sandbox Code Playgroud)
默认值是什么,比如它是只读的,是否会保留......等等?
我在Swift 3中阅读了Apple关于访问修饰符的参考资料.我在stackoverflow上也读过同样的内容,但是我没有得到答案.据我所知,有四个层次:
我为自己创建了方案,以了解所有这些修饰符之间的差异并在此处上传.如您所见,公共修饰符和内部修饰符之间没有区别.但是它们处于不同的级别.任何想法将不胜感激!
从几个初始教程中,我看到属性属于一个类,并且基本上是C++世界中使用的"全局变量"(在此前编码).我还将变量看作更多只在方法中使用/存储信息的"本地"实体.
然后我遇到了这个Quora线程:https://www.quora.com/Apple-Swift-programming-language/What-is-the-difference-between-a-property-and-a-variable 现在我看到属性正在能够执行与其调用相关的代码.这很酷,但也为我打开了一大堆其他问题.
还有其他简单明了的方法来记住属性和变量之间的区别吗?
我很困惑为什么在构造函数内或 main 内创建变量时不能表示 private 变量,但可以在类内的变量之外执行它。
public class Stuff
{
private double x;
public Stuff(int i, double d) {
private double y;
}
public static void main(String[] args) {
private double z;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试定义一个用户定义的元素数量(度)的数组,然后是一个允许用户一次设置一个元素(系数)的方法.
class Polynomial
{
public Polynomial(int degree)
{
double[] coef = new double[degree];
}
public double[] setCoefficient(int index, double value)
{
coef[index] = value; //coef was set in the constructor
return coef;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到了编译错误coef[index] = value;.
java ×3
constructor ×2
private ×2
public ×2
swift ×2
arrays ×1
cocoa-touch ×1
inheritance ×1
internal ×1
ios ×1
methods ×1
objective-c ×1
oop ×1
protected ×1