JAVA怎么调用另外一个类中的数组中的某一项属性?看问题详情
如:借书系统,创建三个类第一个类Library,里面创建一个Library()方法,包含books数组.第二个类Book,里面Book()方法带有intid,String...
如:
借书系统,创建三个类
第一个类Library,里面创建一个Library()方法,包含books数组.
第二个类Book,里面Book()方法带有int id,String name两个属性(书的编号、书名),用来给Library里面的书定义这两个属性。
第三个类Main,main()方法中包含putBook()方法,用来调用Book(int id,String name)给Library里面的数组存“书”,即模拟把书存到图书馆里面的操作。
但是在main()方法里面,创建了一个Library的对象library,却不能用library.books.id来调用书的编号(.id显示红色),请问这是为什么? 展开
借书系统,创建三个类
第一个类Library,里面创建一个Library()方法,包含books数组.
第二个类Book,里面Book()方法带有int id,String name两个属性(书的编号、书名),用来给Library里面的书定义这两个属性。
第三个类Main,main()方法中包含putBook()方法,用来调用Book(int id,String name)给Library里面的数组存“书”,即模拟把书存到图书馆里面的操作。
但是在main()方法里面,创建了一个Library的对象library,却不能用library.books.id来调用书的编号(.id显示红色),请问这是为什么? 展开
展开全部
book 的id属性是private的吧?改成public试试。不过,一般是搞个setter/getter方法。
public class Book{
public String id;// 注意前面的修饰符是public的才可以在任意包引用
public void setId(String id){this.id=id;}
public void getId(){return this.id}
}
另外,你的books是数组,应该这样用:
library.books[idx].id="some value";// idx表示数组的下标,从0开始
追答
晕菜,你一点java都不懂啊,去下载一本java编程思想看看吧。
java数据的初始化:
Book books[]={new Book(1,"n1"),new Book(2,"n2")};// 声明并初始化
Book books[]=new Book[2];// 先声明
books[0]=new Book(1,"n1");// 后赋值
展开全部
个人理解仅供参考
类library里面有没有books.id的属性啊,如果有的话,也应该是在你调用了putBook()方法之后才有的,顺序的问题有没有调整?
类library里面有没有books.id的属性啊,如果有的话,也应该是在你调用了putBook()方法之后才有的,顺序的问题有没有调整?
追问
是这样的,如果在同一个类里面,比如Library类
int id;
String name;
public Library(int id, String name){
this.id=id;
this.name=name;
}
//然后main方法和这个数组在同一个类里面就可以调用id,但如果不在一个类里面就显示id错误
public static void main(String[] args){}
追答
这个我看到了,应该是library.id不是library.books.id
你看看是不是这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询