私有声明但不接受变量

时间:2017-03-26 01:53:19

标签: java class get set private

我已经将我的变量声明为私有,并希望在类似于此类的类中使用注释:

 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;
  }

这是它的课程:

Optimizer

它说笔记在Etudiant中有私人访问权

2 个答案:

答案 0 :(得分:0)

  

它说笔记在Etudiant中有私人访问权

由于note是类Etudiant的私有字段的原因,因此它在类外不可见或无法访问,而是创建一个{{ 1}}& getter类中的setter方法。

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

示例:

getter课程内,创建一个Etudiant字段,如下所示:

getNote

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

setNote

假设您已完成上述建议,只需将其替换为:

public void setNote(double note){
    this.note = note;
}

public void SetNoter(int i, double uneNote) { 
      etudiants[i].getNote=uneNote;
}

答案 1 :(得分:0)

我认为您正在尝试为var $terror = $('.terror') console.log($terror); $terror.on('click', function () 内的方法指定一个值:

SetNoter()

您应该将public void SetNoter(int i, double uneNote) { etudiants[i].getNote=uneNote; } 作为参数传递给它(如果方法uneNote实际存在):

public void setNote( double note )

更新:

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

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; } } 方法设置如上所述的变量。