1.书上有这样的代码:class Student{
String id="06311110442";
String name="李冬";
int    age=20;
char   sex='男';
long   score=88L;
}问题:Java中可以像这样在类定义中直接初始化对象吗?如果可以,那么这种被直接初始化的变量是被对象共享的吗?还是只是在创建对象时使对象的值一样?2.运算符&的操作数只能是false和true吗?如果是,那么http://topic.csdn.net/u/20110902/12/6c0a120c-2109-46eb-904d-9fd5f8b8b982.html?13433中为什么会有number&1==0这样的语句?3.两个文件中的类可以直接调用吗?如文件1定义了类A,文件2中定义了类B,那么在文件2中可以直接用类A声明一个对象吗(假设两个文件都在一个包中)?如果可以,那么在文件2中用类A声明了一个对象以后,可以同时在文件1中用类B声明一个对象吗?Java中的类是否一定要先定义后使用?4.String定义变量的方法好像有两种,一种是String name="李冬";,一种是String name=new String("李冬");这两种方法等价吗?5.上课的时候老师写了这样的代码:byte x='a';
byte y='b';
byte z='c';
System.out.println(y*y-4*x*z);当时在Eclipse上编译通过了,还运行了,结果也是对的,但我不明白为什么有两字节的Unicode码赋给一个字节的byte型变量时编译器不会报错?6.如果子类B,继承了类A的一个方法fun(),并重写了一个名字为fun但参数和父类的fun()不一样的方法,那么此时子类中是否可以说实现了方法的重载?

解决方案 »

  1.   

    1.可以,一样。
    2.&不是and,是与或运算符号。(number&1)==0加括号才是正确的。
    3.可以。
    4.不等价。
    5.可以看看char类型。
    6.可以。
      

  2.   

    1.可以直接初始化,但是你需要共享,你申明属性然后再构造方法中赋值就可以
    2.&不是逻辑运算,是位运算!  &&才是逻辑运算
    3.可以,A类中可以new B对象,B类也可以new A对象,JAVA中不叫定义,叫创建对象,使用该对象引用.
    4.相同的.你可以用equals()比较下
    5.你把X,Y,Z位运算下就知道了
    6.是的,重载了,他重载的是自己的fun()方法
      

  3.   

    6,同一个类内的同名方法不同参数叫重载overload,子类重写了父类的同名方法重写override
      

  4.   

    4,http://www.blogjava.net/hxlistiancai/articles/335979.html
      

  5.   

    第五个还是不明白,由长度小的类型给长度大的类型赋值,应该提示丢失精度吧?
    如果不是因为ASCII码只有7位而且pc上是低位数保存到低位地址,高位数保存到高位地址,结果应该是错的