Java 关键字之this

原创 2016年05月30日 18:10:29


this 是什么?

this 是一个引用类型,

在堆中的每一个java对象上都有this,

this 保存内存地址指向自身

public classThisTest01{

public static voidmain(string[] args){

//创建对象

MyDate t1=newMyDate(2008,8,8);

System.out.println(t1.year+”年”+t1.month+”月”+t1.day+”日”);

//创建对象

MyDate t2=newMyDate(2012,12,12);

System.out.println(t2.year+”年”+t2.month+”月”+t2.day+”日”);

}

}

//日期

Class MyDate{

//Field

Int year;

Int month;

Int day;

//Constructor

MyDtae(){

MyDate(int  _year,int _month,int  _day){

year=_year;

month=_month;

day=_day;

}

}

this能用到哪些地方?

One :可以用在成员方法中

Two:可以用在构造方法中

用在成员方法中,this就是当前对象

Public classthisTest02{

Public static voidmain(string[] args){

//创建对象

Employee e=newEmployee(7639,”smith“);

//工作

e.work();

//创建对象

Employee e1=newEmployee(7670,”mike“);

//工作

e1.work();

}

Class Employee{

//员工编号

Int empNo;

//员工名称

String empName;

//Constructor

Employee(){}

Employee(int_empNo,string _empName){

empNo=_empNo;

empName=_empName;

}

//提供一个员工工作的方法。

//this 用在成员方法中,谁去调用这个成员方法,this就代表谁

This 指的是当前对象。

Public void work(){

System.out.println(empName+“在工作”);

--优化后(this.可以省略)

System.out.println(this.empName+“在工作”);

}

}

This 可用来区分成员变量和局部变量

Public classThisTest03{

Public static voidmain(string[] args){

Manager m1=newManager("king”);

Manager m2=newManager();

m2.setName(“Ford”);

System.out.println(m1.getName);

System.out.println(m2.getName);

 

}

}

Class Manager{

//Field

private stringname;

//Constructor

Manager(){}

Manager(stringname){

this.name=name;

}

//Method

//成员方法

Public voidsetName(string name){

this.name=name;

}

//成员方法

Public stringgetName(){

return this.name;

}

this 不能用在静态方法中

静态方法的执行根本不需要java对象的存在,直接使用类名.的方式访问。

而this代表的是当前对象,所以静态方法中根本没有this

 

可以用在构造方法中

语法:this(实参),必须出现在构造方法的第一行

通过一个构造方法去调用另一个构造方法,目的:代码重用

 

需求:在创建日期对象时,默认日期是:1970-1-1

public classThisTest04{

public static voidmain(string[] args){

MyDate t=newMyDate();

System.out.println(t.year+”年”+t.month+”月”+t.day+”日”);

}

Class MyDate{

Int year;

Int month;

Int day;

//Constructor

MyDtae(){

this(1970,1,1);

变更前:(同样效果)

//this.year=1970;

//this.month=1;

//this.day=1;

}

MyDate(int  _year,int _month,int  _day){

year=_year;

month=_month;

day=_day;

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

java this关键字解释

  • 2015年11月18日 13:02
  • 1KB
  • 下载

JAVA面向对象知识点总结(2)—封装、构造函数、构造代码块、this关键字

封装:是指隐藏对象的属性和实现

java方法的重载,重写,super,this,final关键字

一.重载 重载(Overloading): (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。 重载Overloading是一个类...

Java中this关键字在构造方法中的使用

1. Java中this关键字代表对象本身。用this关键字可以在类的内部调用属性和方法,这样代码的可读性比较高,因为它明确的指出了这个属性或方法的来源。 2. 同时在构造函数中也可以使用thi...

java基础_构造方法、this、static关键字

一方法的重载多态之一的静态多态 二构造方法 三构造代码块 四面向对象的特点1封装性 五this指代当前对象 六static 一、方法的重载:(多态之一的:静态多态) 在同一个类中:方法名相同,形参列表...
  • zpw91
  • zpw91
  • 2016年09月15日 16:50
  • 91

JAVA中的this关键字

概述this关键字的作用如下: ① 强调本类中的方法 ② 表示类中的属性 ③ 可以使用this调用本类中的构造方法 ④ 表示当前对象进一步了解: 一,构造方法中的this关键字 构造方法是...

Java中super ,this关键字和多态的学习

* Java中super ,this关键字和多态的学习* 使用super调用和this调用也很像,区别...

Java语言中This关键字应用浅析

文向你介绍Java语言中的This关键字的使用,包括引用成员变量、调用类的构造方法等知识。 应用一:引用成员变量 public class Student{ //定义一个类,类的名字为st...

Java中this关键字用法

一,表示类中属性 1,没有使用this的情况 class Person{ // 定义Person类 private String name ; // 姓...

JAVA核心技术 第五章 继承 类、超类、子类 关键字this super 多态 动态绑定

关键字this有两个用途: 1.引用引式参数 2.调用该类其他的构造器 关键字super也有两个用途: 1.调用超类的方法 2.调用超类的构造器 这两个关键字的使用方式很相似. 调用构造器的语句只能最...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java 关键字之this
举报原因:
原因补充:

(最多只允许输入30个字)