Java基础知识之this关键字知识讲解
this关键字
这里对java中this关键字的基础知识进行讲解,希望对热爱java的小伙伴有帮助!!
/*
this关键字代表了所属函数的调用者对象。 this关键字的作用:
1. 如果存在同名成员变量与局部变量时,在方法内部默认是访问局部变量的数据,可以通过this关键字指定访问成员变量的数据。
2. 在一个构造函数中可以调用另外一个构造函数初始化对象。 this关键字调用其他的构造函数要注意的事项:
1. this关键字调用其他的构造函数时,this关键字必须要位于构造函数中的第一个语句。
2. this关键字在构造函数中不能出现互相调用的情况,因为是一个死循环。 this关键字要注意的事项:
1. 存在同名的成员变量与局部变量时,在方法的内部访问的是局部变量(java采取的是“就近原则”的机制访问的)。
2. 如果在一个方法中访问了一个变量,该变量值存在成员变量的情况下,那么java编译器会在该变量的前面添加this关键字。 this关键字调用其他的构造函数要注意的事项:
1. this关键字调用其他的构造函数时,this关键字必须要位于构造函数中的第一个语句。
2. this关键字在构造函数中不能出现互相调用的情况,因为是一个死循环。
*/ //this关键字实例
class Student{
int id; //身份证
String name; //名字 //目前情况: 存在同名的成员变量与局部变量,在方法内部是使用局部变量的。
public Student(int id, String name) { //一个函数的形式参数也是属于局部变量。
//调用了本类的一个参数的构造方法
//this(name);//如果能在这里调用到下面一个参数的构造方法时,那就可以解决重复代码的问题。
this(); //调用了本类的无参的构造方法。
this.id = id; //this.id = id; 局部变量的id给成员变量的id赋值。
System.out.println("两个参数的构造方法调用了...");
} public Student() {
System.out.println("无参的构造方法被调用了...");
} public Student(String name) {
this.name = name;
//System.out.println("一个参数的构造方法被调用了...");
}
} public class Demo1 { public static void main(String[] args) {
Student s = new Student(110, "铁蛋");
System.out.println("编号: "+s.id+" 名字: "+s.name); Student s2 = new Student("金胖子");
System.out.println("名字: "+s2.name);
}
}
原文章:https://blog.csdn.net/qq_49529322/article/details/112085700
Java基础知识之this关键字知识讲解的更多相关文章
- java基础(2):注释、关键字、标识符、数据
1. 注释.关键字与标识符 大家可以安装一个文本编辑软件notepad++,有利于java代码的查看与编写. 1.1 程序注释 通常我们需要在源代码中添加文字用来对进行代码解释说明,但这些文字并不是J ...
- Java 基础(6)——关键字 & 标识符 & 转义字符
依然是基础的一天,看一看就好~ 关键字 之前就有说过关键字哦~ 注:关键字就是程序发明者规定的有特殊含义的单词. from Java基础(2) Java 中除了关键字以外还有暂时没有成为关键字的保留字 ...
- Java基础—private、this关键字及get/set方法
Java基础-private\this关键字以及get\set方法 1.private关键字 private关键字通常用来修饰成员变量用来保护原有数据的安全,比如在下面学生类中 然后在测试类中调用成员 ...
- java基础56 HTML5的标签知识(网页知识)
本文知识点(目录): 1.html常用标签 2.html实体标签 3.html媒体标签 4.html超链接标签 5.html图片标签 6.html标个标签 7.html框 ...
- Java基础笔记之String相关知识
(二)String Sring 被声明为 final ,因此不可被继承. String的不可变性: 看String的定义(java9版本): public final class String imp ...
- 重学JAVA基础(八):锁的基本知识
1.线程状态 如上图,当我们新建一个线程,并start后,其实不一定会马上执行,因为只有操作系统调度了我们的线程,才能真正进行执行,而操作系统也随时可以运行其他线程,这时线程又回到可运行状态.这个过程 ...
- Java基础——关于jar包的知识
在学习jar包之前,要先弄懂Java包,以及关于Java包的相关概念. 一.包 为了更好地组织类,Java提供了包机制.包是类的容器,用于分隔类名空间.如果没有指定包名,所有的示例都属于一个默认的无名 ...
- Java 基础:认识&理解关键字 native 实战篇
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 泥瓦匠初次遇见 navicat 是在 java.lang.Object 源码中的一个hashCode方 ...
- Java基础_0309:this关键字
this简介 在Java中this可以完成三件事情:表示本类属性.表示本类方法.当前对象(只是先介绍概念) 调用本类属性 在一个类中定义的方法中可以直接访问类中的属性,但是很多时候有可能会出现方法参数 ...
随机推荐
- UVA11021麻球繁衍
题意: 有K只麻球,每只生存一天就会死亡,每只麻球在死之前有可能生下一些麻球,生i个麻球的概率是pi,问m天后所有的麻球都死亡的概率是多少? 思路: 涉及到全概率公式,因为麻球的 ...
- 神经网络与机器学习 笔记—多层感知器(MLP)
多层感知器(MLP) Rosenblatt感知器和LMS算法,都是单层的并且是单个神经元构造的神经网络,他们的局限性是只能解决线性可分问题,例如Rosenblatt感知器一直没办法处理简单异或问题.然 ...
- json-lib-2.1-jdk15.jar
链接:https://pan.baidu.com/s/1VvpCHoTZWJU2l0c6D1MhJg 提取码:jheq http://www.java2s.com/
- 四、postman关联、参数化
一.postman关联 在实际接口测试中,后一个接口要用到前面接口返回的结果,从而让后面的接口能够正常运行,这个过程的实现成为关联 如上图通过新版本或者老版本的语法把获取的变量access_token ...
- MySQL redo与undo日志解析
前言: 前面文章讲述了 MySQL 系统中常见的几种日志,其实还有事务相关日志 redo log 和 undo log 没有介绍.相对于其他几种日志而言, redo log 和 undo log 是更 ...
- RTTI之typeid运算符
1 #include <iostream> 2 #include <cstdlib> 3 #include <ctime> 4 #include <typei ...
- 通过SQL注入获得网站后台用户密码
通过 SQL 注入攻击,掌握网站的工作机制,认识到 SQL 注入攻击的防范措施,加强对 Web 攻击的防范. 一.实验环境 下载所需代码及软件:获取链接:链接:https://pan.baidu.co ...
- [MySQL数据库之记录的详细操作:增、改、删、单表查询、多表查询]
[MySQL数据库之记录的详细操作:增.改.删.单表查询.多表查询] 记录详细操作 增.删.改 增: insert t1(字段1,字段2,字段3) values (值1,值2,值3), (值1,值2, ...
- MergingSort
递归排序的两种实现 <script type="text/javascript"> //归并排序(递归实现) //思想:堆排序利用了完全二叉树的性质,但是比较麻烦 // ...
- Linux netperf网络性能测试
Linux netperf网络性能测试 (2013-10-14 16:07:48) 转载▼ 网络性能测量的五项指标 1. 可用性(availability) 测试网络性能的第一步是确定网络是否 ...