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关键字解释

Java中super和this关键字用法

这是从csdn摘抄过来。 this:可以理解为代表自身对象,指向对象本身的一个引用。 1,普通的直接引用2,局部变量和成员变量重名用this区分,如:class Person { pr...

Java基础视频教程第05天_面向对象入门及this关键字

一、面向对象概述 1、理解面向对象: a、面向对象是相对面向过程而言; b、面向对象和面向过程都是一种思想; c、面向过程:强调的是功能行为; d、面向对象:将功能封装进对象,强调具备...

Java重修之路(六)面向对象初识,类与对象,成员变量,局部变量,封装,构造函数,构造代码块,this关键字

今天终于进入正题,Java的面向对象部分,也是Java的核心部分,如果之前只是学过C语言而没有接触其他面向对象的语言的同学,这里要转换思想还是有些难度的,需要多思考,弄清楚什么是面向对象,面向对象与面...

黑马程序员---java基础第5天(构造代码块、this关键字、构造函数)

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 5.1构造代码块          构造代码块。     ...

Java this关键字

Java类中定义的method(方法)字节码存在方法区中

黑马程序员-------- java面向对象 封装、构造函数、this static关键字、单例设计

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------                          ...

鸟哥Java学习之构造函数、this、static关键字-面向对象

1.构造函数:可以给对象进行初始化,创建对象都必须要通过构造函数进行初始化。一个类中没有定义构造函数,会有一个默认的空参数构造函数。     事物一旦产生就具备的内容定义在构造函数中,格式:类名...

Java 关键字 this super 使用总结

Java关键字this、super使用总结   一、this  Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针...

Java关键字介绍之this与super

1.什么是super?什么是this? super关键字表示超(父)类的意思。this变量代表对象本身。 2.使用super&this调用成员变量和方法 可以使用super访问父类被子类隐藏的变...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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