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. 替换 &开头。;结尾之间的内容。用空格代替他们

    替换 &开头.;结尾之间的内容.用空格代替他们 var regExp = /\&.*?\;/g; var str = '123&asdsa;dqwe'; str = str.r ...

  2. vue数据不响应,可能是用法有问题

    <template> <div> <div> <span>用户名: {{ userInfo.name }}</span> <span& ...

  3. 【K哥爬虫普法】12亿公民信息泄露,仅判3年,个人信息是否为爬虫“禁区”?

    我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了"K哥爬虫普法"专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识, ...

  4. gRPC基本教程

    原文在这里. 本教程为Go程序员提供了使用gRPC的基本介绍. 通过跟随本示例,你将学会如何: 在.proto文件中定义一个服务. 使用协议缓冲编译器生成服务器和客户端代码. 使用Go gRPC AP ...

  5. P9110 [PA2020] Samochody dostawcze

    题目简述 有 \(n\) 个点,这些点分为两种类型.第一种,点在 \((x,0)\) 的位置.这些点从 \(t_i\) 的时刻开始向北走.第二种,点在 \((0,y)\) 的位置.这些点从 \(t_i ...

  6. python快速入门【三】-----For 循环、While 循环

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

  7. 微服务保护-Sentinel

    1.初识Sentinel 1.1.雪崩问题及解决方案 1.1.1.雪崩问题 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务. 如图,如果服务提供者I发生了故障,当前的应用的部分业 ...

  8. ubuntu离线安装tcpdump

    环境 Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Codename: xenial 准备安装包 tcpd ...

  9. 2022 JuiceFS 社区用户调研结果出炉

    为了使 JuiceFS 的发展更贴合用户的真实需求,我们在三周前向社区发出了一份调研问卷.此次调研面向已经将 JuiceFS 应用于生产环境的用户,了解其在应用 JuiceFS 前和使用中的体验与评价 ...

  10. 深入浅出Java多线程(八):volatile

    引言 大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第八篇内容:volatile.大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!! 在当今的软件开发领域,多线程编程 ...