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 ...
随机推荐
- SP5464 CT - Counting triangles 题解
题目翻译 题意 有一个网格,左上角是 \((0,0)\),右上角是 \((x,y)\).求这个网格中一共有多少个等腰直角三角形. 输入 第一行给定一个 \(c\),表示有 \(c\) 组数据. 后面 ...
- 将input 中的小写字母转化为大写字母
小写转换为大写,使用toLocaleUpperCase() options.element.find(".CarNumber").textbox({ label: '车牌号:', ...
- Keepalive-Haproxy高可用介绍
假设我们现在开发了一个应用应用的端口号为 8080,这个应用我们想让它去实现一个负载均衡的访问,就是说我们有两台服务器都部署了我们的 8080 应用,我们想让它一会访问 ip 为: 192.168.0 ...
- 设计模式学习-使用go实现解释器模式
解释器模式 定义 优点 缺点 适用范围 代码实现 参考 解释器模式 定义 解释器模式(interpreter):给定一种语言,定义它的文法的一种表示,并定一个解释器,这个解释器使用该表示来解释语言中的 ...
- 小白学k8s(12)-k8s中PV和PVC理解
pv和pvc 什么是pv和PVC 生命周期 PV创建的流程 1.创建一个远程块存储,相当于创建了一个磁盘,称为Attach 2.将这个磁盘设备挂载到宿主机的挂载点,称为Mount 3.绑定 持久化卷声 ...
- 【游戏】C语言实现扫雷游戏(超详细备注和解释)
C语言实现扫雷游戏 求个赞求个赞求个赞求个赞 谢谢 先赞后看好习惯 打字不容易,这都是很用心做的,希望得到支持你 大家的点赞和支持对于我来说是一种非常重要的动力 看完之后别忘记关注我哦!️️️ 文章目 ...
- C++小项目|2022期末大作业
前言 那么这里博主先安利一下一些干货满满的专栏啦! 手撕数据结构https://blog.csdn.net/yu_cblog/category_11490888.html?spm=1001.2014. ...
- 求助:Docker怎么连接mongoDB?
首先 在playwithDocker中通过docker pull mongo引入mongo 然后创建容器 docker run -it --name mymongo -p 27017:27017 -v ...
- Flink-postgres-cdc实时同步报错:无法访问文件 "decoderbufs": 没有那个文件或目录
问题描述 Caused by: org.postgresql.util.PSQLException: 错误: 无法访问文件 "decoderbufs": 没有那个文件或目录 解决办 ...
- Windows—通过Navicat导入MySQL示例数据库employees
Navicat是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL.Oracle.PostgreSQL.SQLite.SQL Server.MariaDB .MongoDB 等不同类型的数据 ...