java中this什么时候不能省略?&this()的用法

java中this什么时候不能省略?

1.this可以使用在实例方法中,不能使用在静态方法中

2.this关键字大部分情况下可以省略,什么情况下不能省略呢?

public class Test

{

public static void main(String[] args){

student s =new student();

s.setNo(1111);

s.setName("张三");

System.out.println("学号:"+s.getNo());

System.out.println("姓名:"+s.getName());

}

}

class student

{

//封装变量

private int no;

private String name;

//构造方法无参

public student(){

}

//构造方法有参(用this增强可读性)

public student(int no,String name){

this.no=no;

this.name=name;

}

//setter写入方法

public void setNo(int no){

this.no=no;

}

public void setName(String name){

this.name=name;

}

//getter读取方法(用this增强可读性)

public int getNo(){

return no;//严格来说,这里是有一个this.的,只不过省略了

}

public String getName(){

return name;//严格来说,这里是有一个this.的,只不过省略了

}

}

在实例方法中,或者在构造方法中,为了增强代码可读性

这种情况下:this是不能省略的。

this()的用法(这个用的还是挺多的)

this()语法的作用是什么?美观,节省代码。

代码复用,通过一个"构造方法1"调用另一个"构造方法2"。但是需要注意的是:"构造方法1"和"构造方法2"都是在同一个类中。this()只能出现在一个构造方法中的第一行,并且只能出现一次this()。

class Data

{

private int year;

private int month;

private int day;

//无参数的构造方法

public Data(){

/*this.year=1997;

this.month=2;

this.day=8;*/

this(1970,2,8);//调用了下面的有参数的构造方法

}

//有参数的构造方法

public Data(int year,int month,int day){

this.year=year;

this month=month;

this day=day;

}

}

总结

this是一个关键字。this可以使用在实例方法中,也可以使用在构造方法中this出现在实例方法中其实代表的是当前对象this不能使用在静态方法中this大部分情况下可以省略,但是用来区分局部变量和实例变量的时候,不能省略this()这种语法稚嫩出现在构造方法第一行,表示当前构造方法调用本类的构造方法,目的是代码服用

上一篇: 心动的信号 (第三季)
下一篇: 俨的意思,俨的解释,俨的拼音,俨的部首,俨的笔顺

相关推荐

[原创]《河洛群侠传》全流程图文攻略:全主线流程+全支线流程+全感悟+游戏系统+全武功招式+全战斗技巧【游侠攻略组】[复制链接]
假面骑士玩具官网
恶灵附身1一共多少章节
给证件照换底色的5种方法
深圳周边钓鲢鳙
聯立方程式