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关键字使用 详解+ 证明的更多相关文章

  1. Java并发关键字Volatile 详解

    Java并发关键字Volatile 详解 问题引出: 1.Volatile是什么? 2.Volatile有哪些特性? 3.Volatile每个特性的底层实现原理是什么? 相关内容补充: 缓存一致性协议 ...

  2. java final关键字的详解

    final可以修饰成员变量.局部变量.方法.和类 1.final修饰成员变量时,必须在定义时初始化或者在构造方法中初始化 表示该成员变量无法在该类中被更改,但是可以被继承.如果子类不再定义相同名字的成 ...

  3. java并发编程 | 锁详解:AQS,Lock,ReentrantLock,ReentrantReadWriteLock

    原文:java并发编程 | 锁详解:AQS,Lock,ReentrantLock,ReentrantReadWriteLock 锁 锁是用来控制多个线程访问共享资源的方式,java中可以使用synch ...

  4. volatile关键字的详解-并发编程的体现

    xl_echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!! 参 ...

  5. java反射机制深入详解

    java反射机制深入详解  转自:http://www.cnblogs.com/hxsyl/archive/2013/03/23/2977593.html 一.概念 反射就是把Java的各种成分映射成 ...

  6. ava下static关键字用法详解

    Java下static关键字用法详解 本文章介绍了java下static关键字的用法,大部分内容摘自原作者,在此学习并分享给大家. Static关键字可以修饰什么? 从以下测试可以看出, static ...

  7. Java基础之 数组详解

    前言:Java内功心法之数组详解,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 数组概念 同一种类型数据的集合.其实数组就是一个容器. 数组 ...

  8. java ssl https 连接详解 生成证书 tomcat keystone

    java ssl https 连接详解 生成证书 我们先来了解一下什么理HTTPS 1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over ...

  9. Java 8 Lambda 表达式详解

    一.Java 8 Lambda 表达式了解 参考:Java 8 Lambda 表达式 | 菜鸟教程 1.1 介绍: Lambda 表达式,也可称为闭包,是推动 Java 8 发布的最重要新特性. La ...

  10. java中的注解详解和自定义注解

    一.java中的注解详解 1.什么是注解 用一个词就可以描述注解,那就是元数据,即一种描述数据的数据.所以,可以说注解就是源代码的元数据.比如,下面这段代码: @Override public Str ...

随机推荐

  1. protojson简介

    google.golang.org/protobuf/encoding/protojson 是 Go 语言中的一个库,用于处理 Protocol Buffers(protobuf)和 JSON 之间的 ...

  2. c#时间格式转换汉字大写

    把时间转换为汉字大写 public class DateTimeConvert { public static string ConvertToChineseCapital(DateTime date ...

  3. springboot多模块打包报错问题根因分析:Unable to find main class

    问题背景: 项目结构为springboot多模块,其中有四个模块bean.utils.user.ems,其中user和ems模块为主程序,包含启动类,其他两个模块为其服务,提供依赖 问题分析: 查看u ...

  4. python快速入门【六】----真题测试

    python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...

  5. 强化学习从基础到进阶-案例与实践[4.2]:深度Q网络DQN-Cart pole游戏展示

    强化学习从基础到进阶-案例与实践[4.2]:深度Q网络DQN-Cart pole游戏展示 强化学习(Reinforcement learning,简称RL)是机器学习中的一个领域,区别与监督学习和无监 ...

  6. 从嘉手札<2023-11-18>

    随便补一个~ 1.我也不是不快乐,我其实挺快乐的,和朋友出去玩,看电影,刷搞笑视频,我都能表现的很好,但这些都不是真正让我感受到快乐的东西,它就像膝跳反应一样,碰我一下我就会笑,但笑完就结束了.甚至在 ...

  7. Eslint 的rules一些配置 (.eslintrc.js文件中的rules选项)

    rules: { // off=0, warn=1, error=2, 如果是数组, 第二项表示参数option // indent: [2, 2], // 控制缩进为2 eqeqeq: 1, // ...

  8. 希捷推出IronWolf Pro 24TB硬盘:CMR构建、285MB/s传输速率

    希捷推出了全新IronWolf Pro 24TB硬盘,采用3.5寸规格,满足中小企业和NAS环境需求. 据了解,新款硬盘采用了希捷AgileArray技术,针对NAS系统进行了优化.其通过双平面平衡和 ...

  9. 【C语言深度解剖】预定义章节经典面试题讲解(offsetof宏模拟实现)【超详细的解释和注释】

    [C语言深度解剖]预定义章节经典面试题讲解(offsetof宏模拟实现)[超详细的解释和注释] 那么这里博主先安利一下一些干货满满的专栏啦! 作者: #西城s 这是我的主页:#西城s 在食用这篇博客之 ...

  10. [转载自jayant97] 详解Zephyr设备树(DeviceTree)与驱动模型

    原文链接:详解Zephyr设备树(DeviceTree)与驱动模型 1. 前言 ​ Nordic最新的开发包NCS(nRF Connect SDK)相对于原来的nRF5 SDK来说,最大的更新莫过于采 ...