——————————————————————————————————————
主代码
public class Branch{
String subName;
int salary,totalBooks; Branch(String subNameA,int totalBooksA)
{
subName=subNameA;
totalBooks=totalBooksA;
} public void calculateHrs()
{
int totalHrs;
totalHrs=totalBooks*2;
System.out.println(subName+totalHrs);
} public static void main(String [] args)
{
Branch obja=new Branch("科学",20);
Science objc=new Science();
objc.getSci(obja);
Branch objb=new Branch("艺术",12);
Arts objd=new Arts();
objd.getArt(objb);
}
}class Science{
void getSci(Branch objA)
{
objA.calculateHrs();
}
}class Arts{
void getArt(Branch objB)
{
objB.calculateHrs();
}
}_________________________________________________________________________
问题:
上面代码中的最后两个类Science和Arts可否写成:
class Arts{
void getArt()
{
                  Branch objB=new Branch();
                  objB.calculateHrs();
}
}
这样的形式~?如果不可以~那怎样转换这两个类的格式能达到和主代码中这两个类写法一样的效果~?

解决方案 »

  1.   

    当然不能了,因为一个是把一个Branch对象传过来,另一个是自己定义一个新的对象。当然不行了。
      

  2.   

    不行 传过来的对象 和 new一个对象是不同的
    就象 人一样 假如传过来的是楼主 身上穿着衣服
    而new一个人就象刚生出来的小孩一样 身上什么都没有
      

  3.   

    main()
    {
     Science objc=new Science();
     objc.getSci();
    }
    class Science{
    void getSci()
    {
     Branch objA=new Branch();
     objA.calculateHrs();
    }
    }
      

  4.   

    new 就新开辟空间啦  当然就不一样啦