Java学习 - 引出this关键字

需求:定义一个User类,提供name,age字段,以及相应getter/setter方法。
并创建对象,设置name和age数据,在打印对象的name,age。

什么是this:
表示当前对象,什么又是当前对象
this只要存在于两个位置:
构造器中:就表示当前创建的对象
方法中:哪一个对象调用this所在的方法,那么此时this就表示哪一个对象;

使用this:
1:解决成员变量和参数(局部变量)之间的二义性,必须使用;
2:同类中实例方法间互调(此时可以省略this,但是不建议省略)。
3:将this作为参数传递给另一个方法;
4:将this作为方法的返回值(链式方法编程);
5:构造器重载的互调,this(参数)必须写在构造方法第一行;
6:static不能和this一起使用;
当字节码被加载近JVM,static成员已经存在了,
但是此时对象还没有创建,没有对象,就没有this。

创建对象并对象设置初始值有两个方式:
方式1:先通过无参数构造器创建出一个对象,再通过对象调用相应的setter方法,
方式2:直接调用参数的构造器,创建出来的对象,就有了初始值。
----------------------------------------------------------------------------

通过构造器和通过setter方法都可以完成相同的功能
给对象设置数据:
1:setter注入(属性注入)
2:构造注入
------------------------------------------------------------------------------

如何选择:
1:如何存在带参数的构造器,方式2是比较简洁的。
2:如果在构建对象的时候需要初始化多个数据,如果使用方式2,那么构造器得提供N个参数,参数过大,
不直观,此时方式1,简单明了。
3:有时候需要根据数据来构建对象,此时优先选用构造器方式。

时间: 2024-08-02 02:49:22

Java学习 - 引出this关键字的相关文章

Java学习之finally关键字总结

Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例.final经常和static一起使用来声明常量,你也会看到final是如何改善应用性能的. final关键字的含义? final在Java中是一个保留的关键字,可以声明成员变量.方法.类以及本地变量.一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如

Java学习笔记---一些关键字的使用

一.instanceof 作用:判断一个引用类型的变量所指向的对象是否是一个(或接口.抽象类.父类)的实例. 用法:boolean result= object instanceof class. 二.strictfp 作用:用来确保浮点数运算的准确性.如果没有指定strictfp关键字,此时计算结果可能会是不精确.此关键字可以保证Java编译器以及运行环境完全依照IEEE二进制浮点数算术标准来执行. 用法: public strictfp class Test{ public static v

Java学习日记-5 关键字static和final 以及接口

乱入:表达式中的自动类型转换 char,short,byte都升级为int类型进行运算,结果为int,但其原变量类型并不改变. 所以,byte b = 10;  b = b*b; 编译时会报错.但是写成 b *=b; 就没问题了. ——————————————华丽的分割线———————————————————————— //static与final一.static 1.位于变量前 变量为静态变量,可通过类名调用 2.位于方法前 方法为静态方法,可通过类名调用 存储在静态区,可以被所有对象直接访问

java学习笔记3——java关键字

java学习笔记3——java关键字 虽然老师说不用刻意的去记忆,但是我还是在网上找到了非常详细的注解,再次收藏 关键字的类型表: 各个关键字的详细注解和实例,按首字母排序: 1.abstract abstract 关键字可以修改类或方法. abstract 类可以扩展(增加子类),但不能直接实例化. abstract 方法不在声明它的类中实现,但必须在某个子类中重写. -示例- public abstract class MyClass{ } public abstract String my

java学习中,面向对象的三大特性:封装、继承、多态 以及 super关键字和方法的重写(java 学习中的小记录)

java学习中,面向对象的三大特性:封装.继承.多态 以及 super关键字和方法的重写(java 学习中的小记录) 作者:王可利(Star·星星) 封装     权限修饰符:public 公共的,private 私有的     封装的步骤:          1.使用private 修饰需要封装的成员变量.          2.提供一个公开的方法设置或者访问私有的属性              设置 通过set方法,命名格式:     set属性名();  属性的首字母要大写 访问 通过ge

java基础学习总结——static关键字

永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! java基础学习总结——static关键字 一.static关键字 原来一个类里面的成员变量,每new一个对象,这个对象就有一份自己的成员变量,因为这些成员变量都不是静态成员变量.对于static成员变量来说,这个成员变量只有一份,而且这一份是这个类所有的对象共享. 1.1.静态成员变量与非静态成员变量的区别 以下面的例子为例说明 1 package cn.galc.test; 2 3 public class Cat { 4 5

java学习笔记之面向对象static,final关键字

java学习笔记之面向对象static,final关键字 一.static关键字 1.概述: static静态的,被static修饰的成员属于类,不属于单个对象,被所有对象所共享,存在静态区中,静态的成员优先于对象加载到内存中. 2.statc修饰成员的使用方式:(被static修饰的成员变量有默认值) /* 1.可以通过对象直接使用,不推荐使用 2.通过类名调用静态成员 类名.静态成员变量 类名.静态成员方法 */ 3.static的特点 /* 1.在同一个类中,静态成员只能访问静态成员,非静

【JAVA学习笔记】Java中的static关键字解析

Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题.以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔试面试题 若有不正之处,希望谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnb

【Java学习笔记之二十】final关键字在Java继承中的用法小结

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类   当用final修饰一个类时,表明这个类不能被继承.也就是说,如果一个类你永远不会让他被继承,就可以用final