Java this关键字使用 详解+ 证明
1 package com.bytezero.thistest;
2 /**
3 *
4 * @Description
5 * @author Bytezero·zhenglei! Email:420498246@qq.com
6 * @version
7 * @date 2021年9月15日下午7:38:02
8 * @
9 *
10 */
11 /*
12 * this关键字使用
13 * 1.this可以用来修饰属性,方法,构造器
14 *
15 * 2.this修饰属性和方法
16 * this理解为当前对象 或 当前正在创建的对象
17 *
18 * (1)在类的方法中,可以使用“this.属性”或“this.方法”的方式,调用当前对象属性
19 * 或方法, 但是,通常情况下,我们都选择省略了“this.",特殊情况下,如果方法
20 * 的形参和类的属性重名,我们必须显示式的使用“this.变量”的方式,表明此变量是
21 * 属性,而非形参.
22 *
23 * (2)在类的构造器中,可以使用“this.属性”或“this.方法”的方式,调用当前正在创建的
24 * 对象属性或方法, 但是,通常情况下,我们都选择省略了“this.",特殊情况下,如果构造器
25 * 的形参和类的属性重名,我们必须显示式的使用“this.变量”的方式,表明此变量是
26 * 属性,而非形参.
27 *
28 * 3. this调用构造器
29 * (1) 我们在类的构造器中,可以显示的使用“this(形参列表)”方式,调用本类中的指定的其他
30 * 构造器
31 * (2)构造器不能通过“this(形参列表)”方式调用自己
32 * (3)如果一个类中有n个构造器,则最多有n - 1个构造器中使用了“this(形参列表)”
33 * (4)规定:this(形参列表) 必须声明当前构造器的首行
34 * (5)构造器内部,最多只能声明一个 this(形参列表),用来调用其他的构造器
35 *
36 *
37 *
38 */
39 public class PersonTest
40 {
41 public static void main(String[] args)
42 {
43 Person p1 = new Person();
44
45 p1.setAge(2);
46 System.out.println(p1.getAge());
47
48 p1.eat();
49
50 Person p2 = new Person("Tom");
51 System.out.println(p2.getName());
52
53 }
54 }
55
56
57 class Person
58 {
59 private String name;
60 private int age;
61
62
63 //1
64 public Person()
65 {
66 this.eat();
67 String info = "已经被调用()";
68 System.out.println(info);
69 }
70
71 //当前正在创建的对象
72 public Person(String name)
73 {
74 this(); //1 调了 1 这个构造器
75 this.name = name;
76 }
77
78 public Person(int age)
79 {
80 this();
81 this.age = age;
82 }
83
84
85 public Person(int age,String name)
86 {
87 this(age);
88 //this.age = age;
89 this.name = name;
90 }
91
92
93
94
95 public void setName(String name)
96 {
97 this.name = name;
98 }
99
100 public String getName()
101 {
102 return this.name;
103 }
104
105
106
107 public void setAge(int age)
108 {
109 this.age = age;
110 }
111
112 public int getAge()
113 {
114 return this.age;
115 }
116
117
118 public void eat()
119 {
120 System.out.println("人吃饭");
121 this.study();
122 }
123 public void study()
124 {
125 System.out.println("人学习");
126 }
127
128
129
130
131
132
133
134
135 }
Java this关键字使用 详解+ 证明的更多相关文章
- Java并发关键字Volatile 详解
Java并发关键字Volatile 详解 问题引出: 1.Volatile是什么? 2.Volatile有哪些特性? 3.Volatile每个特性的底层实现原理是什么? 相关内容补充: 缓存一致性协议 ...
- java final关键字的详解
final可以修饰成员变量.局部变量.方法.和类 1.final修饰成员变量时,必须在定义时初始化或者在构造方法中初始化 表示该成员变量无法在该类中被更改,但是可以被继承.如果子类不再定义相同名字的成 ...
- java并发编程 | 锁详解:AQS,Lock,ReentrantLock,ReentrantReadWriteLock
原文:java并发编程 | 锁详解:AQS,Lock,ReentrantLock,ReentrantReadWriteLock 锁 锁是用来控制多个线程访问共享资源的方式,java中可以使用synch ...
- volatile关键字的详解-并发编程的体现
xl_echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!! 参 ...
- java反射机制深入详解
java反射机制深入详解 转自:http://www.cnblogs.com/hxsyl/archive/2013/03/23/2977593.html 一.概念 反射就是把Java的各种成分映射成 ...
- ava下static关键字用法详解
Java下static关键字用法详解 本文章介绍了java下static关键字的用法,大部分内容摘自原作者,在此学习并分享给大家. Static关键字可以修饰什么? 从以下测试可以看出, static ...
- Java基础之 数组详解
前言:Java内功心法之数组详解,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 数组概念 同一种类型数据的集合.其实数组就是一个容器. 数组 ...
- java ssl https 连接详解 生成证书 tomcat keystone
java ssl https 连接详解 生成证书 我们先来了解一下什么理HTTPS 1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over ...
- Java 8 Lambda 表达式详解
一.Java 8 Lambda 表达式了解 参考:Java 8 Lambda 表达式 | 菜鸟教程 1.1 介绍: Lambda 表达式,也可称为闭包,是推动 Java 8 发布的最重要新特性. La ...
- java中的注解详解和自定义注解
一.java中的注解详解 1.什么是注解 用一个词就可以描述注解,那就是元数据,即一种描述数据的数据.所以,可以说注解就是源代码的元数据.比如,下面这段代码: @Override public Str ...
随机推荐
- 🛠 开源即时通讯(IM)项目OpenIM源码部署指南
OpenIM的部署涉及多个组件,并支持多种方式,包括源码.Docker和Kubernetes等.这要求在确保不同部署方式之间的兼容性同时,还需有效管理各版本之间的差异.确实,这些都是复杂的问题,涉及到 ...
- 强大的AWS lambda
AWS强大的lambda 自从几年前换工作后,我所参与的项目一直都是基于AWS云服务的架构,我慢慢对serverless的相关基础建设有了一定了解和实践经验.其中lambda是我心中最强大的serve ...
- 2.基于Label studio的训练数据标注指南:(智能文档)文档抽取任务、PDF、表格、图片抽取标注等
文档抽取任务Label Studio使用指南 1.基于Label studio的训练数据标注指南:信息抽取(实体关系抽取).文本分类等 2.基于Label studio的训练数据标注指南:(智能文档) ...
- KMP 学习笔记
前言-- \(char\) 与 \(string\) 有的时候 \(char\) 数组确实比 \(string\) 好用,且字符串长度很大时 \(string\) 会被卡掉,所以不要犯懒,老实用 \( ...
- 【OpenCV】基于cv2的图像阈值化处理【超详细的注释和解释】掌握基本操作
说在前面的话 博主今天给大家带来人工智能的一个重要领域的入门操作,opencv包的使用和基本操作,希望大家可以从中学到一些东西! 前言 那么这里博主先安利一下一些干货满满的专栏啦! 手撕数据结构htt ...
- PHP利用MySQLi函数连接数据库
PHP利用MySQLi函数连接数据库 一.连接数据库 mysqli_connect # 注意抑制符的使用 $link = @mysqli_connect('localhost','root','roo ...
- WDMyCloud的ssh登陆密码错误
是一个困扰很久的小问题,以至于无法ssh登陆到NAS服务器进行操作. 之前配置是可以直接使用root用户ssh登陆到服务器的,可是后来突然就不行了,无论输入啥密码都是报错: Permission de ...
- Unicode编码的魅力:跨语言交流的桥梁
引言: Unicode编码是一种用于表示世界上所有字符的标准编码方式.它解决了字符集兼容性和多语言文本处理的难题,成为实现全球化软件的关键技术.本文将深入探讨Unicode编码的优点与缺点,并介绍它在 ...
- JS 一篇文章弄懂Object.defineProperty,现学现用,来试试相关笔试题吧
壹 ❀ 引 早在大半年前,掘金某位用户分享的面试题整理中有一题,简述let与const区别,你能自己模拟实现它们吗?,题目意思大概如此,时间久远我也很难找到那篇文章,当时看到此题对于const实现我的 ...
- Working with Dates in PL/SQL(PL/SQL中使用日期)
Working with Dates in PL/SQL By Steven Feuerstein 史蒂芬.佛伊尔斯坦 The previous articles in this introduct ...