Java 私有声明但不';不接受变量

Java 私有声明但不';不接受变量,java,class,get,set,private,Java,Class,Get,Set,Private,我已将变量声明为private,并希望在类noter上使用note,如下所示: public class Etudiant { private String nom , prenom ; private int anneeNais, LIMITE=60; private double note; private String code ; 这是它的课程: public class GroupeEtudiant { fin

我已将变量声明为private,并希望在类noter上使用note,如下所示:

public class Etudiant {
    private String nom , prenom ;
         private int anneeNais, LIMITE=60;
         private double note;
         private String code ;
这是它的课程:

 public class GroupeEtudiant {

    final int MAX=20;  
 Etudiant[] etudiants = new Etudiant[MAX];
 int nbreEtudiants  ;



 public void ajouterEtudiant(Etudiant unEtudiant){

 etudiants[nbreEtudiants]=unEtudiant;
 nbreEtudiants ++;
}

        public void SetNoter(int i, double uneNote) { 
       etudiants[i].getNote=uneNote;
  }
它说note在Etudiant中有私人访问权限

它说note在Etudiant中有私人访问权限

这是因为
注意
是类
Etudiant
的私有字段,因此它在类外不可见或不可访问,而是在
Etudiant
类内为其创建一个
getter
setter
方法

注意-在您的情况下,您不一定需要
getter
,但在将字段声明为私有字段时提供它们是一种很好的做法

例如:

Etudiant
类中,创建一个
getNote
字段,如下所示:

public double getNote(){
    return this.note;
}
类中还有一个
setNote
字段:

public void setNote(double note){
    this.note = note;
}
假设您已经完成了上述建议,只需替换以下内容:

为此:


我认为您正在尝试为
SetNoter()
中的methode赋值:

您应该将
unnote
作为参数传递给它(如果方法
public void setNote(double note)
实际存在):

更新:

要访问私有成员变量,应使用公共方法 (所谓的getter和setter):


然后可以使用
setNote()
method来设置上面提到的变量。

这个类甚至没有编译,因为您的GroupeTudiont引用了一个名为getNote的字段,但该字段并不存在。@MeBigFatGuy是的,如果您看到对象Etudiont从中获取它,我认为您没有正确区分成员和方法。@SteveHarris我正在学习老师说要像这样做this@OusmaneMahyDiawdidI真的很抱歉,但它不起作用。我正在发送一个谷歌驱动器的代码链接,以便您可以看到:@studentofjava我提供的解决方案100%有效。如果您需要任何进一步的帮助,请随时更新您的帖子,而不是外部链接。@studentofjava我只需要您用我提供的建议更新Etudiant类,我会从那里看到的。好吧,我按您的要求做了,当我试图在这里发布时,它被拒绝了
public void SetNoter(int i, double uneNote) { 
      etudiants[i].getNote=uneNote;
}
public void SetNoter(int i, double uneNote) { 
      etudiants[i].setNote(uneNote);
}
public void SetNoter(int i, double uneNote) { 
    etudiants[i].getNote=uneNote;
}
etudiantes[i].setNote( uneNote );
public class Etudiant {

    private String nom , prenom ;
        private int anneeNais, LIMITE=60;
        private double note;
        private String code;

    // for reading the variable
    public double getNote() {
        return this.note;
    }

    // for setting the variable
    public void setNote( double uneNote ) {
        this.note = uneNote;
    }

}