this关键字和构造方法
构造方法:
构造方法的定义:构造方法是类的一个特殊成员,它会在类实例化对象的时候被自动调用
作用:可以在实例化对象的同时对这个对象的属性进行赋值
案例:Student student = new Student(“张三”,1);
构造方法分为有参构造和无参构造
格式:
修饰符 方法名(参数列表){
方法体
}
无参构造:
没有参数的构造方法
案例:创建一个Person类,类中有一个无参构造方法,里面什么有没有

从途中可以看到,Person类的无参构造方法被调用了,这是因为在通过new Person实例化Person对象的时候会自动调用当前类的构造方法
有参构造
有参数的构造方法
可以实现对对象的赋值

方法中对new Person(“张三”,18);会调用有参构造方法来实例化对象,并传入参数
定义构造方法的时候需要满足三个条件
1.方法名需要和类名相同
2.在方法名的前面没有返回值类型的声明
3.在方法中不能使用return返回一个值,但是可以单独写return语句来作为方法的结束
this关键字
解决了成员变量和局部变量的名称重读的问题
比如说将一个类中的数字变量都声明为number
public Demo04(int number){
number = number;
}
Demo04 d = new Demo04(5);
d.OnluNumber();
运行结果为0
这样写会导致成员变量和局部变量的名称冲突,在方法中将无法访问成员变量。
所以就用到了this关键字
public Demo04(int number){
this.number = number;
}
this关键字和构造方法的更多相关文章
- Java基础-this关键字和构造方法(10)
		
this关键字 方法被哪个对象调用,this就代表那个对象当局部变量隐藏成员变量时,使用this关键字(例如构造方法和访问器). 构造方法 构造方法作用概述 给对象的数据进行初始化 构造方法格式 方法 ...
 - this关键字的构造方法的使用
		
package com.wh.Object3; public class this_Demo { private String name; private double price; private ...
 - java this关键字调用构造方法
		
一 this调用构造方法 构造方法之间的调用,可以通过this关键字来完成. 格式: this(参数列表); 构造方法的调用举例: class Person { // Person的成员属性 priv ...
 - Java中this关键字在构造方法中的使用
		
1. Java中this关键字代表对象本身.用this关键字可以在类的内部调用属性和方法,这样代码的可读性比较高,因为它明确的指出了这个属性或方法的来源. 2. 同时在构造函数中也可以使用this关键 ...
 - super关键字小结(构造方法的执行是不是一定会创建对象?)
		
1.父类 public class Person { private String name = "李四"; private int age; public Person() { ...
 - 封装、构造方法、private、Static与this关键字、main()_Day07
		
1:成员变量和局部变量的区别(理解) (1)定义位置区别: 成员变量:定义在类中,方法外. 局部变量:定义在方法中,或者方法声明上. (2)初始化值的区别: 成员变量:都有默 ...
 - this关键字、访问修饰符、super关键字
		
this关键字.访问修饰符.super关键字 Java关键字this只能用于方法方法体内,而且只能用在非静态方法内.当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个 ...
 - java基础知识6-- 抽象类,抽象方法,接口,构造方法,类方法等易混淆的知识点
		
一.抽象类和抽象方法 (B 继承 抽象类A) 抽象类:有抽象方法的一定是抽象类 抽象方法:方法名前有abstract修饰,且方法没有方法体,即{},不需要实现任何功能,只是声明 1.抽象类中的方法有 ...
 - Java关键字---this的由来和其三大作用
		
[声明]欢迎转载,但请保留文章原始出处→_→ 秦学苦练:http://www.cnblogs.com/Qinstudy/ 文章来源:http://www.cnblogs.com/Qinstudy/p/ ...
 
随机推荐
- Dapr 不是服务网格,只是我长的和他很像
			
概述 我们快速看一遍官方文档:https://docs.dapr.io/concepts/service-mesh/#how-dapr-and-service-meshes-compare ,看看 D ...
 - Fuzzing101系列 Exercise 1 - Xpdf
			
序言 Fuzzing101系列包含针对10 个真实目标的10个练习,在练习中一步一步学习Fuzzing技术的知识. 模糊测试(Fuzzing/Fuzz)是一种自动化软件测试技术,它基于为程序提供随机或 ...
 - ElasticSearch7.3学习(二十六)----搜索(Search)参数总结、结果跳跃(bouncing results)问题解析
			
1.preference 首先引入一个bouncing results问题,两个document排序,field值相同:不同的shard上,可能排序不同:每次请求轮询打到不同的replica shar ...
 - ArrayList常用Api分析及注意事项
			
数组(定长,有序的,随机访问).ArrayList是Java在数组的基础上进行衍生出来的Java里的一种数据结构,它在拥有数据的特性之外,增加了可变性 (动态数组). 属性 属性 备注 DEFAULT ...
 - swiper使用
			
swiper使用 初始化 var mySwiper = new Swiper ('容器区域类', { // 存放swiper属性 }) 属性 基本属性: 1.initialSlide 设定初始化时sl ...
 - 线性求 $i^i$ 的做法
			
线性求 \(i^i\) 的做法 方便起见,我们记 \(f_i=i^i\),\(i\) 的最小质因子为 \(p=\mathrm{minp}(i)\),第 \(i\) 个质数为 \(\mathrm{pr} ...
 - Android Proguard混淆对抗之我见
			
关于何为Proguard,可以参考GuardSquare官网其优化业务及Wikipedia相关条目. Proguard:https://www.guardsquare.com/proguard Wik ...
 - 2021.05.29【NOIP提高B组】模拟 总结
			
T1 题意:给你一个图,可以不花代价经过 \(K\) 条边,问从起点到终点的最短路 考试的想法:设 \(dis_{i,j}\) 表示从起点免费了 \(j\) 条边到 \(i\) 的最短路 然后直接跑 ...
 - 开源流程引擎osworkflow、jbpm、activiti、flowable、camunda哪个好?
			
市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.其中:Jbpm4.Activiti.Flowable.camunda四个框架同宗同源, ...
 - pytorch初学
			
(pytorch_gpu) D:\pytorch-text>pythonPython 3.7.9 (default, Aug 31 2020, 17:10:11) [MSC v.1916 64 ...