【java基础】--02.变量

一、属性:也叫成员变量,也叫实例变量

成员变量 & 局部变量 的区别?
①作用域不同
②内存中的位置不同
③成员变量有默认值,而局部变量没有默认值(局部变量使用前必须赋初始值)

成员变量的默认值:
基本数据类型:
byte short int —> 0
long —> 0L
float —> 0.0F
double —> 0.0D
char —> ‘\u0000’
boolean —> false

引用数据类型: —> null
|– 类(class)
|– 接口(interface)
|– 数组([])

2.为属性赋初始化值的方式
①使用默认值
②直接显示赋值

二、参数的值传递:
基本数据类型: 将基本数据类型作为参数,传递给方法,方法运行结束后,原值不会发生改变

引用数据类型: 将引用数据类型作为参数,传递给方法,方法运行结束后,原值会发生改变
内存管理:
分配: JVM自动为其分配内存空间
释放:JVM通过垃圾回收机制自动的释放内存空间

垃圾回收机制: 将内存中的垃圾对象释放

垃圾对象:不再被任何引用指向的对象

Person p = new Person();

p  = null;

//通知垃圾回收机制可以释放内存,但是并不能保证立即释放,加快释放。
System.gc(); 

三、面向对象的封装性

封装的理解: 该隐藏的隐藏起来,该暴露的暴露出来

扫描二维码关注公众号,回复: 2639742 查看本文章

访问控制修饰符:
public : 公共的,可用于修饰属性、方法、类。 在任何地方都可以访问

private : 私有的,可用于修饰属性、方法。 只能在本类中访问

封装的步骤:
①属性私有化(private)
②提供公共的(public) get/set 方法

class Animal{
    //1.
    private String name;
    private int legs; //描述腿的个数

    //2.
    public void setName(String n){
        name = n;
    }

    public String getName(){
        return name;   
    }

    public ovid setLegs(int l){
        if(l > 0 &&  l <= 4){
            legs = l;
        }
    }

    public int getLegs(){
        return legs;   
    }
}


Animal ani = new Animal();
ani.name = "大象";
ani.legs = -1000;

四、this 关键字:
使用在本类中,代表当前对象。可以用于调用属性、方法、构造器

this.属性
this.方法
this(……):
①this调用本类构造器,必须写在构造器中可执行代码的首行
②若一个类中有多个构造器,至少有一个构造器中不使用this (避免递归构造器调用)

谁让拥有this关键字的方法运行,谁就是当前对象

class Person{
    private String name;
    private int age;

    public void setName(String name){
        this.name = name;//可以区分局部变量和成员变量
    }
}

Person p = new Person();
p.setName("张三");

猜你喜欢

转载自blog.csdn.net/YYZZHC999/article/details/80878532