黑马程序员技术交流社区

标题: 我的日志5 [打印本页]

作者: 天方夜谭    时间: 2014-7-8 13:54
标题: 我的日志5
1.几个值得注意的问题
  (1)对成员的操做只能放在方法中,方法可以对成员变量和该方法体中声明的局部变量进行操作。在声明类的成员变量时可以同时赋予初值,例如:
   class A{
   int a=12;
   float b=12.56f;
}
但是不可以这样做:
   class A{
    int a;
    float b;
    a=12;       //非法,这是赋值语句(只能出现在方法体中),不是变量的声明
     b=13.45f;   //非法
}
   这是因为类体的内容由成员变量的声明和方法的定义两部分组成,故下列写法是正确的:
   class A{
   int a;
    float b;
     void f(){
        int x,y;
        x=34;
      y=-23;
       a=12;
        b=12.56f;
   }
}
  (2)实例方法既能对类变量操作也能对实例变量操作,而类方法只能对类变量进行操作。例如:
   class A{
   int a;
    static int b;
     void f(int x,int y){
      a=x;
      b=y;
   }
   static void g(int z){
     b=23;
     a=z;//非法
  }
}
(3)一个类中的方法可以互相调用,实例方法可以调用该类中的其他方法;类中的类方法只能调用该 类的类方法,不能调用实例方法。例如:
   class A{
   void sum(float x,float y){
      a=max(x,y);//可以
        b=min(x,y);//可以
         System.out.println(a+b);
   }
    Static float getMaxSquare(float x,float y){
     return max(x,y)*max(x,y);
   }
    Static float getMinSquare(float x,float y){
     return min(x,y)*min(x,y);   //非法
   }
  static float max(float x,float y){
    return a>b?a:b;
  }
   float min(float x,float y){
    return a<b?a:b;
  }
}
2.如果类中定义了一个或多个构造方法,那么java不提供默认的构造方法。
3.当对象用方法时,方法中的局部变量被分配内存空间。方法执行完比,局部变量即刻释放内存。需要注意的是,局部变量在声明时如果没有初始化,就没有默认值,因此在使用局部变量之前,要事先为其赋值。
4.   class Test{
       public static void main(String[] agrs){
      boolean b=false;
      String c=b+"dsf";    //boolean转化字符串
      System.out.println(c);
  }
}
对于非字符串类型的变量,与字符串用+号相连接,可以转化为字符串。
5.假如程中使用了空对象,程序在运行时会出常异NullPointerException
6.例如,如果向方法的int型参数x传一个int值,那么参数x得到的值是传递值的一个副本。因此,如果方法改变参数的值,不会影响向参数“传值”的变量的值,反之亦然。参数得到的值,类似得到的值,类似生活中“原件”的复印件,那么改变“复印件”不影响原件,反之亦然。
    对于基本数据类型的参数,向该参数传递的级加盟不可以高于该参数的级别。例如:不可以向int 型参数传递一个float 值,但可以向double型参数传递一个float值。

















欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2