如何在Java中使用或创建私有类的变量
我正在创建一个库存系统(这样做是为了好玩),我选择使用队列作为java中的数据结构。我在公共类中使用私有类,当我试图运行它测试队列时,我不能声明私有类的变量。这是我的密码 包含私有类的类如何在Java中使用或创建私有类的变量,java,Java,我正在创建一个库存系统(这样做是为了好玩),我选择使用队列作为java中的数据结构。我在公共类中使用私有类,当我试图运行它测试队列时,我不能声明私有类的变量。这是我的密码 包含私有类的类 public class Customer {//begining of class private class Custque //creating private class to use as node { private int Trn; priv
public class Customer
{//begining of class
private class Custque //creating private class to use as node
{
private int Trn;
private String Lname;
private String Fname;
private String Mname;
private String Mstatus;
private String DOB;
private String Email;
private String permanentadd;
private String mailingadd;
Custque Next;
public Custque()//default constructor
{
Trn=0;
Lname="";
Fname="";
Mname="";
Mstatus="";
DOB="";
Email="";
permanentadd="";
mailingadd="";
this.Next= Next;
}
public Custque(int T, String Ln, String Fn,String Mn, String MS, String dob, String email, String PA, String MA)//primary constructor
{
Trn=T;
Lname=Ln;
Fname=Fn;
Mname=Mn;
Mstatus=MS;
DOB=dob;
Email=email;
permanentadd=PA;
mailingadd=MA;
}
public void setTrn(int T)//trn setter
{
this.Trn= T;
}
public int getTrn() // trn getter
{
return Trn;
}
public void setLname(String Ln)
{
this.Lname=Ln;
}
public String getLname()
{
return Lname;
}
public void setFname(String Fn)
{
this.Fname=Fn;
}
public String getFname()
{
return Fname;
}
public void setMname(String Mn)
{
this.Mname=Mn;
}
public String getMname()
{
return Mname;
}
public void setMstatus(String Ms)
{
this.Mstatus=Ms;
}
public String getMstatus()
{
return Mstatus;
}
public void setDOB(String dob)
{
this.DOB=dob;
}
public String getDOB()
{
return DOB;
}
public void setEmail(String email)
{
this.Email=email;
}
public String getEmail()
{
return Email;
}
public void setpermanentadd(String PA)
{
this.permanentadd=PA;
}
public String getpermanentadd()
{
return permanentadd;
}
public void setMailingAdd(String MA)
{
this.mailingadd=MA;
}
public String getmailingAdd()
{
return mailingadd;
}
}// end of private class
private Custque front;
private Custque last;
public void enqueue (int trn, String Ln, String Fn, String Mn, String MS,String dob,String email,String PA, String MA)
{
Custque que = new Custque();// creating a variable for the queue is null
if (que.equals(null))// testing if the queue is null
System.out.println("An error has occur");
que.setTrn(trn);
que.setLname(Ln);
que.setFname(Fn);
que.setMname(Mn);
que.setMstatus(MS);
que.setDOB(dob);
que.setEmail(email);
que.setpermanentadd(PA);
que.setMailingAdd(MA);
if(front.equals(null))
last=front=que;
else
last.Next = que;
last = que;
}// end of enqueue
public Custque dequeue()
{
if (front.equals(null))
{
System.out.printf("Queue is Empty");
return null;
}
Custque i;
i=front;
front = front.Next;
return front ;
}// end of dequeue
void display()
{
Custque d;
if(front != null)
{
d=front;
System.out.printf("" + d);
}
}
}//end of main class
我的驾驶课
import java.util.Scanner;
public class driver
{
public static void main(String[] args)
{
int t,i;
String ln,fn,mn,ms,dob,email,pa,ma;
Custque s;/* line of error*/
for(i=0; i<5;i++)
{
System.out.printf("");
Scanner num = new Scanner(System.in);
t= num.nextInt();
System.out.printf("");
Scanner l = new Scanner(System.in);
ln = l.nextLine();
System.out.printf("");
Scanner f = new Scanner(System.in);
fn = f.nextLine();
System.out.printf("");
Scanner m = new Scanner(System.in);
mn = m.nextLine();
System.out.printf("");
Scanner mar = new Scanner(System.in);
ms = mar.nextLine();
System.out.printf("");
Scanner d = new Scanner(System.in);
dob = d.nextLine();
System.out.printf("");
Scanner e = new Scanner(System.in);
email = e.nextLine();
System.out.printf("");
Scanner per = new Scanner(System.in);
pa = per.nextLine();
System.out.printf("");
Scanner mai = new Scanner(System.in);
ma = mai.nextLine();
}// end of loop
}
}//end of driver
import java.util.Scanner;
公务舱司机
{
公共静态void main(字符串[]args)
{
int t,i;
字符串ln、fn、mn、ms、dob、email、pa、ma;
Custque s;/*错误行*/
对于(i=0;i私有内部类意味着您只能在外部类内部访问,在本例中为Customer。
事实上,如果你正在声明一个私有的内部类,你自己会说:“我希望没有人能看到这个类”,所以你违背了你的一个代码
但是,就像满是鳗鱼的@Hovercraft所说,这背后有什么要求。也许我们可以提供更多帮助。或者这只是对java语义的疑问?为什么要使用“私有”内部类?这一要求背后的动机是什么?一个建议。具有长参数列表的构造函数(如Custque)很难使用,也很难维护。该类是构建器模式的最佳候选。使用该模式将使您的类更易于使用,并使您的代码更易于阅读和维护。另一个建议是。尽管编译器不严格要求它们,但Java仍然有官方的编码风格要求。遵循它们可以使您的代码更容易让其他人理解。例如,类成员(例如方法和实例字段)本地变量不应该用大写字母开头。好的,我理解了使用C++中的队列和栈链接列表实现。我已经知道使用头文件的方法,但是java不支持。我基本上想了解的是如何在java中使用队列和栈。