成员变量:
是在类中,且步子方法中的变量,叫做成员变量,有初始化值。
局部变量:
在方法中的变量,叫做局部变量,它没有默认值,必须先定义,赋值,才能用。

成员变量与局部变量的不同点:
1、类中的位置不一样:成员变量在类中,方法外,而局部变量在方法内。
2、内存位置不同:成员变量在堆内存,局部变量在栈内存。
3、生命周期不同:创建对象时存在,对象消失则消失,局部变量跟方法一起,随着方法被调用而存在,调用完毕消失。
4、初始化值不同:成员变量有初始化值,局部变量则没有。
private:私有变量
private:将属性和方法用private封装后表示,被封装的属性与方法只能在本类中使用,类外部不可见。 此时要想访问被封装的属性,必须提供getter与setter方法
代码:
package GolbalText2;
// 学生类
public class Student {
// 成员变量
String name;
private int age;
// 提供set方法,当括号里的变量名与成员变量名同名时:要用this.变量名:表示成员变量
// 不加this表示局部变量,防止遮挡成员变量
public void setAge(int age) {
this.age = age;
}
// 提供get方法,返回值时什么类型,就用什么类型
public int getAge() {
return age;
}
public void show(){
System.out.println(name+age);
}
}
用private定义的成员变量不可以直接访问,我们可以通过get来访问
代码:
package GolbalText2;
// 测试类
public class StudentDemo {
public static void main(String[] args) {
// 创建对象
Student sd = new Student();
sd.name="张三";
// 给带有封装属性的成员变量赋值
sd.setAge(16); //直接带入向管的值
// 显示类中的方法,通过show方法显示
sd.show();
// 第二种显示,这是直接显示
System.out.println(sd.name+sd.getAge());
}
}

构造方法:初始化对象。
java的构造方法在创建时被调用。Java有默认的构造方法,但是当想用别的构造方法时:需要重新定义构造方法。
定义构造方法:
1、方法名必须与类型相同
2、可以没有参数,或多个参数
3、返回值类型就是本身的类型
4、跟创建对象中的new连用
package GolbalText3;
// 学生类
public class Student {
String name;
int age;
public Student(){
System.out.println("这是无参数的构造方法");
}
public void show(){
System.out.println(name+","+age);
}
}
------------------------------------------------------------------------------------package GolbalText3;
// 测试类
public class StudentDemo {
public static void main(String[] args) {
// 创建对象
Student ad = new Student();
ad.show();
}
}

可以看到 创建对象,其实也是在调用构造方法
构造方法传值的情况:
package GolbalText3;
import GolbalText2.Student;
/*
* 学生类
* */
public class Student1 {
private String name;
private int age;
// 无参构造方法,如果没有写,使用系统默认的构造方法
public Student1(){
System.out.println("这是无参构造方法");
}
// 一个参数的构造方法:
public Student1(String name){
this.name = name;
}
// 这是一个参数的构造方法
public Student1(int age){
this.age=age;
}
// 这是两个的构造方法
public Student1(String name,int age){
this.name=name;
this.age=age;
}
public void show(){
System.out.println(name+","+age);
}
}
package GolbalText3;
/*
* 测试类
* */
import GolbalText2.Student;
public class StudentDemo1 {
public static void main(String[] args) {
// 创建对象,
Student1 sd = new Student1(); //这个时候,学生类里的构造方法就已经开始执行了
sd.show();
// 传一个参数(名字)
Student1 sd1 = new Student1("张三丰");
sd1.show();
// 传一个参数(年龄)
Student1 sd2 = new Student1(16);
sd2.show();
// 传两个参数(名字,年龄)
Student1 sd3 = new Student1("周星驰",16);
sd3.show();
}
}

到这里就结束了,若有错误请指正。

这篇博客介绍了Java中成员变量和局部变量的区别,包括它们的位置、内存分配、生命周期和初始化值。同时,讨论了私有变量(private)的作用,指出其用于封装,限制外部访问,并需要通过getter和setter进行访问。此外,还详细解释了构造方法的功能,如何定义构造方法以及在对象创建中的作用。
1033

被折叠的 条评论
为什么被折叠?



