sha*_*ess 3 java variables android
好吧,所以我要在这里让自己难堪,但我正在开展一个项目,我需要得到一些帮助,所以我需要做一些约定,所以我看起来不太愚蠢.我只用了2个月的java,其中100%用在Android上.
我需要一些帮助来理解设置变量以及为什么我应该以某种方式执行它.
以下是类的变量列表示例:
Button listen,feed;
Context context = this;
int totalSize = 0;
int downloadedSize = 0;
SeekBar seek;
String[] feedContent = new String[1000];
String[] feedItems = new String[1000];
ListView podcast_list = null;
HtmlGrabber html = new HtmlGrabber();
String pkg = "com.TwitForAndroid";
TextView progress = null;
long cp = 0;
long tp = 0;
String source = null;
String pageContent = null;
String pageName = "http://www.shanescode.com";
DataBaseHelper mdbHelper = new DataBaseHelper(this);
int songdur = 0;
Run Code Online (Sandbox Code Playgroud)
所以这些都是我想在整个班级中使用的变量.为什么我会做一些静态或最终的东西.我理解Public,但为什么要私有化?
感谢您的帮助,请不要太苛刻.我只需要澄清一下.
这些单词都会改变它们应用的变量在代码中的使用方式.
static表示变量只为整个类创建一次,而不是为该类的每个不同实例创建一次.
public class MyClass{
public static int myNumber;
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,变量作为MyClass.myNumber访问,而不是通过MyClass的实例访问.当您希望存储有关整个类的数据而不是单个实例的数据时,将使用静态变量.
final在第一次设置后阻止变量值的变化.它必须作为其声明的一部分给出初始值:
public final int myNumber = 3;
Run Code Online (Sandbox Code Playgroud)
或作为类的构造函数的一部分:
public MyClass(int number){
this.myNumber = 3;
Run Code Online (Sandbox Code Playgroud)
完成此操作后,无法更改变量的值.但请记住,如果变量存储对象,则不会阻止对象的变量被更改.此关键字用于保持一段数据不变,这使得使用该数据编写代码变得更加容易.
private修改变量的可见性.私有变量可以由包含它的实例访问,但不能超出:
public class MyClass{
private int myNumber;
public void changeNumber(int number){
this.myNumber = number; //this works
}
}
MyClass myInstance = new MyClass();
myInstance.myNumber = 3; //This does not work
myInstance.changeNumber(3) //This works
Run Code Online (Sandbox Code Playgroud)
可见性用于控制其他代码如何使用类的变量.在编写将由其他程序员使用的代码时,这非常重要,以便控制他们如何访问类的内部结构.公共和私有实际上只是Java中四种可能的可见性级别中的两种:其他是受保护的和"无(可见性)修饰符"(也称为公共或私有或受保护).这四个级别之间的差异在此处详述.
| 归档时间: |
|
| 查看次数: |
6821 次 |
| 最近记录: |