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 ...
随机推荐
- 【K哥爬虫普法】孤注一掷的爬虫er,究竟还要误入歧途多远?
我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了"K哥爬虫普法"专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识, ...
- 在Protocol Buffers中导入当前目录中的.proto文件
在protobuf中导入当前目录中的.proto文件时,可以使用相对路径.相对路径是相对于当前.proto文件所在的目录来引用其他.proto文件. 假设有以下目录结构: my_project/ |- ...
- 基于Basic auth 的一个C# 示例
最近在做公司的一个项目时,客户需要我们定时获取他们矩阵系统的数据.在与客户进行对接时,提到他们的接口使用的目前不常用的BASIC 认证.天呢,它好不安全,容易被不法人监听,咋还在使用呀.但是没办法呀, ...
- C/C++ 使用CRC检测内存映像完整性
前面的那一篇文章中所使用的技术只能有效抵抗解密者直接修改硬盘文件,当我们使用动态补丁的时候,那么内存中同样不存在校验效果,也就无法抵御对方动态修改机器码了,为了防止解密者直接对内存打补丁,我们需要在硬 ...
- Oracle删除索引规范
1.背景概述 2.索引删除规范 3.根本解决方案及建议 1.背景概述 近期应用升级上线过程中,存在删除业务表索引的变更操作,且因删除索引导致次日业务高峰时期,数据库响应缓慢的情况,经定位是缺失索引导致 ...
- 树莓派安装freeswitch
树莓派版本: Raspberry Pi 4B 操作系统 : Ubuntu Server 20.04_x64 freeswitch版本 : 1.10.3 1.下载freeswitch源代码 wget h ...
- Python学习之Pytorch
一.如何查看本机是否安装了Pytorch 在Python环境中查看是否安装了PyTorch可以通过几个简单的步骤来完成.这里有一些方法: 使用Python命令行: 打开你的命令行工具(比如Termin ...
- 那些年我一直在用的高效开发者工具-Typora
今天跟大家介绍一款我平时一直在用的本地Markdown工具,对比了国内外几款相似工具,Typora简洁.干练.清爽.功能完备特性深深吸引了我.我平时一般用它记录一些学习文章撰写,工作会议内容记录.项目 ...
- 长沙IT技术圈百万年薪大佬?是否存在?
引子 不知不觉,IT技术圈开始流传起"百万年薪"的故事,有人问我,长沙有百万大佬么?其实我也不知道. 一 背景 长沙自古以来就是文风鼎盛之地,在今天也同样如此. 目前长沙有211. ...
- CentOS在无网络环境下,用离线源yum安装软件
先说大致步骤: 1.前提假设:当前无网络的目标服务器是A,我们需要先准备一台服务器B: 2.在B上面用yum先把软件安装完成. 3.然后用createrepo将B中的包拷贝出来,并传到A上(用U盘或者 ...