首页 > 代码库 > Java成员/局部变量和构造器总结

Java成员/局部变量和构造器总结

1)成员变量和局部变量的区别

1.1)在类中的位置不同

成员变量:类中方法外

局部变量:方法定义中或者方法声明上

1.2)在内存中的位置不同

成员变量:在堆中

局部变量:在栈中

1.3)生命周期不同

成员变量:随着对象的创建而存在,随着对象的消失而消失

局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

1.4)初始化值不同

成员变量:有默认值

局部变量:没有默认值,必须定义,赋值,然后才能使用

2)构造器(构造方法、构造函数)

[<modifier>]  <class_name>  ( [<type arg_name >, ..]) {

[<statements>]

}

2.1)格式:

2.1.1)方法名和类名相同

2.1.2)没有返回值类型,连void都不能有

2.1.3)没有返回值

2.2)构造器特点:

2.2.1)一个类可以有多个构建器,但这些构造器的参数列表必须不同

2.2.2)每个类都会至少有一个构造器,如果没有定义构造器,则系统将自动提供一个默认的不带任何参数的构造器,如果类没有定义构造器,可以用这个默认的构造起来生成一个对象.推荐:永远手动自己给出无参构造方法。

2.3)构造器的作用

用于对对象的数据进行初始化。通过构造器来创建对象,使用new 关键字来创建一个对象new后面调用的是类中的一个构造器。

2.4)给成员变量赋值的方式

2.4.1)setXxx()

2.4.2)带参构造方法

2.5)案例

class Student {
private String name;
private int age;
public Student(){}
public Student(String name,int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

2.5.1)测试

class StudentDemo {
public static void main(String[] args) {
//方式1
Student s1 = new Student();
s1.setName("张三");
s1.setAge(27);
System.out.println(s1.getName()+"---"+s1.getAge());
//方式2
Student s2 = new Student("李四",30);
System.out.println(s2.getName()+"---"+s2.getAge());
}
}


本文出自 “永不放弃!任志远” 博客,谢绝转载!

Java成员/局部变量和构造器总结