Java 面向对象 - 引用传递、this关键字、static关键字

引用传递



string 类型内容不可更改

 

 


创建 class Ref2
对Ref2 进行实例化操作,创建一个对象
通过对象来调用temp的执行

在tell方法中传递一个参数
用r2 调用temp,把temp的值再次修改
用tell(r1)调用temp的执行,同时传递一个r1,因为它们(r1,r2)是同一个对象

)
temp值被改成 jike,开辟了一个新的空间,储存 jike,指向断开,指向 jike
r2 开始也是指向 jike,然后 r2 改变了值,即重新开辟了空间存放了新的值,r1 和 r2 都会开辟新的空间去存,都会指向新的空间,最后 r2断开

 

this关键字

2、构造方法指的是 重载构造方法之间的调用关系
 

表示类中的属性和调用方法

this. getName()     this表示当前调用的是本类当中的一个getName方法(如果当前类中只有一个getName其实不需要)


(name是同一个对象,People构造方法中的name,没有办法表示当前类中的这两个属性)
应 this.name = name     (通过 this 表示本类中的属性,this.getName():通过this来调用当前类中的方法)

 

调用本类中的构造方法


this();    调用了重载构造方法的执行,且this();  必须放在构造方法的首行

 

表示当前对象


实例化操作并创建对象 p,和 在tell 方法中通过 this 得到的 People1对象,是同一个对象

可以通过这种方式来比较两个对象是否是同一个对象

 

static 关键字

(3、静态方法不能调用非静态的方法和属性)
 

1、static 声明全局属性


三次更改 country 属性

把相应的属性改为静态的,即声明为static类型
通过其中任何一个更改都全部更改
静态:公有的一个属性(全局属性)
静态属性(和静态方法)最好通过类名调用:p1.country → Person.country
 

2、static 声明方法

对于方法:
封装起来
            static string country = "北京";    →    
private static string country = "北京";    并实现get() 和 set() 方法


声明为静态,是在对象实例化之前就被调用了(通过类名调用)



3、static静态方法只能调用静态方法和属性,不能调用非静态方法和属性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值