博客
关于我
java —— this 关键字
阅读量:289 次
发布时间:2019-03-03

本文共 793 字,大约阅读时间需要 2 分钟。

什么时候用this?

在编写Java程序时,遇到可能产生二义性的情况,可以通过使用this关键字来明确指向当前对象;

普通方法中的this

在普通方法中,this关键字用于指代调用该方法的对象。例如:

public void getSum() { System.out.println(this.t1 + this.t2);}

构造方法中的this

在构造方法中,this关键字用于指代要初始化的对象。例如:

public Score(int t1) { this.t1 = t1;}

此外,构造方法中通常还会初始化其他变量:

public Score(int t1, int t2) { this.t1 = t1; this.t2 = t2;}

注意事项

需要注意以下几点:

1. this关键字不能用于static方法。因为static方法属于类,而不是对象,无法使用this关键字。

2. 在构造方法中,this关键字必须是第一行代码,否则会导致编译错误。

代码示例

以下是一个完整的代码示例:

class Score { int t1, t2; public Score(int t1) { this.t1 = t1; } public Score(int t1, int t2) { this.t1 = t1; this.t2 = t2; } public void getSum() { System.out.println(this.t1 + this.t2); }}

并在主类中测试:

public class TestConstructor { public static void main(String[] args) { Score s1 = new Score(10); Score s2 = new Score(5, 15); s2.getSum(); }}

转载地址:http://whsl.baihongyu.com/

你可能感兴趣的文章
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement profile
查看>>
sql查询中 查询字段数据类型 int 与 String 出现问题
查看>>
org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
查看>>
org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
查看>>
sqlserver学习笔记(三)—— 为数据库添加新的用户
查看>>
org.apache.http.conn.HttpHostConnectException: Connection to refused
查看>>
org.apache.ibatis.binding.BindingException: Invalid bound statement错误一例
查看>>
org.apache.ibatis.exceptions.PersistenceException:
查看>>
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
查看>>
org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugManifest'
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
查看>>
org.springframework.amqp.AmqpConnectException:java.net.ConnectException:Connection timed out:connect
查看>>
org.springframework.beans.factory.BeanDefinitionStoreException
查看>>
org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata
查看>>
org.springframework.boot:spring boot maven plugin丢失---SpringCloud Alibaba_若依微服务框架改造_--工作笔记012
查看>>