Java week1类和对象

this关键字

this关键字有三种用法,第一种是用于方法中重名变量来指明当前变量的值。第二种是用于在类某个方法代码块中需要引用其他方法时,用this关键字来代替还未被实例化的对象。第三种是当使用构造函数时,可以在override的构造函数代替使用。

构造函数
class employee {
    String name, salary;

    employee() {
        this("unKnow");
    }

    employee(String name) {
        this(name, "unKnow");
    }

    private employee(String name, String salary) {
        System.out.println("name: " + name + "," + "salary: " + salary);
    }
}

不难发现,这种使用this来调用构造函数的方法是为了满足实际场景的测试

调用变量和方法
employee(String name) {
        this.name = name;
    }
 protected void quit() {
        System.out.println("quit");
    }

    protected void fired() {
        System.out.println("fired");
        this.quit();
    }



全局变量和实例变量

局部变量:在方法中定义的变量和该方法的传入参数被称为局部变量。在该方法内,它可以覆盖掉全局变量。其作用域为该方法的花括号中。没有初始值,必须赋初值,否则发生编译错误。生命周期同作用域。

成员变量:定义在类中用来描写类的属性的变量。其作用域有权限控制符决定( public:在任何地方都能直接访问对象的成员变量。private:只能在当前类的对象方法中直接访问,如果子类要访问需要调用父类的get/set方法。protected:可以在当前类及其子类对象方法中直接访问。package:在同一个包下就可以直接访问,比如说在同一个框架)。有默认初始值。生命周期是随着实例化对象的产生而产生,消亡而消亡。

静态变量:由static符号修饰的变量即为静态变量,已被称为全局变量或类变量。其作用域同成员变量。有默认初始值。其生命周期是当类开始加载到程序结束。



基本数据类型和引用数据类型

  • 当未被初始化的时候,基本数据类型有一个初始值,但是引用数据类型数据必须初始化才能使用。而且当引用的时候,对于变量来说,输出的是变量的值,而对于变量来说输出的是地址
    在这里插入图片描述
  • 分配内存
	   double newSalary = 10000;
       Demo demo = new Demo();
       System.out.println("Exchange the value of variables");
       System.out.println(demo.saleary);
       demo.saleary = newSalary;
       System.out.println(demo.saleary);
       System.out.println();
       System.out.println("Exchange the value of objects");
       Demo demo1 = new Demo();
       System.out.println(demo1);
       demo1 = demo;
       System.out.println(demo1);
       System.out.println(demo);

在这里插入图片描述
我们可以看出,在使用等号直接进行交换的时候,变量改变和输出的都是它的值。而对于实例化的对象来说,交换的是地址,demo把值赋给demo1的时候,demo1就指向了demo,此时的demo1已经被JVM处理了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值