黑马程序员技术交流社区
标题:
我的日志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