公共的.就是公用的.所以说你改了可能会出错或其它人不能用.你可以尝试覆盖或重写.
它的意思是说,你定义的这个StudentTest 类,必须自己建立一个 StudentTest.java的文件来装着!
因为Java里面凡是加入了 public 标签的类,都有属于自己的一个java文件的.
你现在一个java文件里面包含了两个 带 public 标签的类,当然会出错!
若又不明白的请继续问我.
楼主先看看这段简洁版的代码:
class Person{ // 定义Person类
private Book book ; // 一个人有一本书
public void setBook(Book b){
book = b ;
book.setTitle("caca");
}
public Book getBook(){
return book ;
};
class Book{ // 定义Book类
private String title ; // 标题
public Book(String title) {
this.title = title;
public void setTitle(String t){
title = t ;
public String getTitle(){
return title ;
public static void main(String arg[]){
Book book = new Book("hello");
Person person = new Person();
System.out.println("book.getTitle()---" + book.getTitle());
person.setBook(book);
System.out.println("person.getBook().getTitle()---" + person.getBook().getTitle());
System.out.println();
你的代码太长了,主要就是看上面这几行.理解我下面说的话,差不多就都理解了.
这里的输出结果是:
book.getTitle()---hello
person.getBook().getTitle()---caca
book.getTitle()---caca
为什么book.getTitle()前后的值不一样呢?
因为,setBook(book)方法中传递的实际上是一个指针,是对名字为"hello"的书的引用.person接收到这个引用之后,又对book里的名字赋值,更改为"caca".最后,执行book.getTitle()时,
又是同一个引用.注意的是,从始至终,就只有一个真正的book,其他的都是对这个book的引用.因为,你只new了一个.
以上就是土嘎嘎小编为大家整理的java公用代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!