目录
一.成员变量和局部变量
成员变量:在整个类中都有效,可以进行初始化,不进行初始化系统会自动初始化。成员变量默认赋值是0 。
局部变量:在方法中定义,只在本方法中有效, 局部变量必须初始化。
Attention:
局部变量名与成员变量名相同,则成员变量被屏蔽,如果不想屏蔽,要不直接赋值,要不就用this关键字。
class lianxi
{
//成员变量
int a = 10,b = 20;//在方法外面是全局变量
//成员函数
public int sum1()
{
int s;//在方法里面是局部变量
s = a+b;
return s;
}
public int sum2()
{
int a = 2;//相当于在方法里面重新定义,所以局部变量屏蔽了全局变量的值
int s;
s = a+b;
return s;
}
public int sum3()
{
int a = 2;
int s;
s = this.a+b;//当局部和全局变量名相同,想使用全局变量需要用this
return s;
}
}
public class BianLiang {
public static void main(String[] args) {
// TODO Auto-generated method stub
lianxi L = new lianxi();
System.out.println("sum1的结果是: "+L.sum1());
System.out.println("sum2的结果是: "+L.sum2());
System.out.println("sum3的结果是: "+L.sum3());
}
}
二.成员方法
方法:一段用来完成特定功能的代码片段
格式:[修饰符1 …] 返回值 方法名 (形式参数列表)
{ //执行的代码(java语句)
return 表达式;//若无返回值,返回类型为void。 }
class Triangle
{
int h = 10;
int l = 20;
public int getArea()
{
return (h*l)/2;
}
}
public class BianLiang {
public static void main(String[] args) {
// TODO Auto-generated method stub
Triangle t = new Triangle();
System.out.println(t.getArea());
}
}
三.方法的重载(重要)
定义:方法名相同,参数不同或参数类型不同。(返回类型不能用来区分重载的方法)
作用:同样功能的方法只需要调用一次,避免重复调用
class Triangle
{
public int sum1(int a,int b)
{
int s1;
s1 = a+b;
return s1;
}
public double sum2(double x,double y)
{
double s2;
s2 = x+y;
return s2;
}
}
public class BianLiang {
public static void main(String[] args) {
// TODO Auto-generated method stub
Triangle t =new Triangle();
System.out.println(t.sum1(5, 4));
System.out.println(t.sum2(4.0, 3.2));
}
}
四.构造函数
• 用于创建新对象并对其进行初始化。
• 名字与类名相同。
• 没有返回值类型。
• 每个类可以有一个以上的构造函数。
• 构造函数可以有0个、1个或多个参数。
Attention:
构造函数只能在最前面
五.this关键字
• 当必须指出当前使用方法的对象是谁要使用时,要使用this。
• this可以处理方法中成员变量与参数重名的情况。
• 在构造函数中,通过this可以调用同一类中别的构造函数。