gpt4 book ai didi

Java 变量基础

转载 作者:太空宇宙 更新时间:2023-11-03 11:41:30 24 4
gpt4 key购买 nike

好吧,我要在这里让自己难堪了,但我正在做一个项目,我需要得到一些帮助,所以我需要制定一些约定,这样我才不会显得太愚蠢。我只做了 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;

所以所有这些都是我想在整个类(class)中使用的变量。为什么我要使某些东西成为静态的或最终的。我了解 Public,但为什么要将某些内容设为私有(private)?

感谢您的帮助,请不要太苛刻。我只需要一些说明。

最佳答案

这些词都改变了它们所应用的变量在代码中的使用方式。

static 表示该变量只会为整个类创建一次,而不是为该类的每个不同实例创建一个。

public class MyClass{
public static int myNumber;
}

在这种情况下,变量作为 MyClass.myNumber 访问,而不是通过 MyClass 的实例访问。当您希望将有关类的数据存储为一个整体而不是有关单个实例的数据时,将使用静态变量。

final 防止变量的值在第一次设置后发生变化。作为其声明的一部分,它必须被赋予一个初始值:

public final int myNumber = 3;

或者作为类的构造函数的一部分:

public MyClass(int number){
this.myNumber = 3;

一旦完成,变量的值就不能再改变了。但是请记住,如果变量正在存储一个对象,这不会阻止对象的变量被更改。此关键字用于保持一段数据不变,这可以使使用该数据编写代码变得更加容易。

private 修改变量的可见性。私有(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

可见性用于控制其他代码如何使用类的变量。这在编写将被其他程序员使用的代码时非常重要,以便控制他们如何访问您的类的内部结构。公共(public)和私有(private)实际上只是 Java 中四个可能的可见性级别中的两个:其他是 protected 和“没有(可见性)修饰符”(也就是非公共(public)或私有(private)或 protected )。这四个级别的区别详解here .

关于Java 变量基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3159320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com