##枚举的不同包访问问题
下面展示一些 内联代码片
。
###这里枚举写在类外面,发现不能用public修饰
enum Grade{
VIP,
General;
}
当你要在想用枚举里的变量,发现只能在同一包下,不同包会显示
###于是把这两个类放到同一包下,报错解决
#如果想要不同包访问枚举里的对象
下面展示一些 内联代码片
。
public enum Grade{
VIP,
General;
}
##像这样放到类内部,并且发现可以加上public修饰符,报错解决,完成不同包访问枚举
###代码部分
public class BankAccount {
public enum Grade{
VIP,
General;
}
private String ownerName;
private int accountNumber;
private float balance;
public Grade grade;
public BankAccount(){
this("",0,0,Grade.General);
}
public BankAccount(String initName,int initAccNum,float initBal,Grade g){
ownerName = initName;
accountNumber = initAccNum;
balance = initAccNum;
grade = g;
}
public String getOwnerName() {
return ownerName;
}
public void setOwnerName(String ownerName) {
this.ownerName = ownerName;
}
public int getAccountNumber() {
return accountNumber;
}
public void setAccountNumber(int accountNumber) {
this.accountNumber = accountNumber;
}
public float getBalance() {
return balance;
}
public void setBalance(float balance) {
this.balance = balance;
}
public Grade getGrade() {
return grade;
}
public void setGrade(Grade grade) {
this.grade = grade;
}
}
下面展示一些 内联代码片
。
public class AccountTester {
public static void main(String[] args) {
BankAccount anAccount;
anAccount = new BankAccount("zhangsan",100023,0, BankAccount.Grade.General);
anAccount.setBalance(anAccount.getBalance()+100);
System.out.println("account: "+anAccount);
System.out.println("name: "+anAccount.getOwnerName());
System.out.println("number: "+anAccount.getAccountNumber());
System.out.println("Balance: "+anAccount.getBalance());
System.out.println("Grade: "+anAccount.grade);
}
}