局部变量和成员变量
位置不同
1.局部变量:方法内部
2.成员变量:方法外部
作用范围不一样
1.局部变量:方法当中用
2.成员变量:整个类中可用
默认值不一样
1.局部变量:没有默认值,需手动赋值
2.成员变量:没有赋值,会有默认值,规则和数组一样
内存位置不一样
1。局部变量:跟内存走,在栈内存中
2.成员变量:在堆内存中
生命周期
1,局部变量:随着方法进栈而诞生,随着方法出栈而消失
2。成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失
面向对象三大特征:封装,继承,多态
1.方法就是一种封装
2.关键字private也是一种封装
封装就是将一些细节信息隐藏起来,对于外界不可见
构造方法是专门用来创造对象的方法,当我通过关键字new来创造对象时,其实u实在调用构造方法。
格式:
public 类方法(参数类型 参数名称){
方法体
}
package cn.incast.xiao01.dem02;
/*
一个人标准的类通常要拥有下面四个部分
1.所有的成员变量都要使用private关键字修饰
2.为每一个成员变量编写一对Getter/Setter方法
3.编写一个人无参数的构造方法
4.编写一个全参数的构造方法
这样的标准的类叫做java bean
*/
public 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;
}
//这个成员方法,专门用于获取age的数据
public int getAge() {
return age;
}
//这个成员方法,专门用于向age设置数据
public void setAge(int age) {
this.age = age;
}
}
package cn.incast.xiao01.dem02;
public class Demo01Student {
public static void main(String[] args) {
Student stu1=new Student();
stu1.setName("迪丽热巴");
stu1.setAge(21);
System.out.println("姓名:"+stu1.getName()+"年龄"+stu1.getAge());
System.out.println("============");
Student stu2=new Student("古z力娜扎",21);
System.out.println("姓名:"+stu2.getName()+"年龄"+stu2.getAge());
}
}