1.this关键字
this关键字的用途
1.用于区别属性和参数(加this表示属性,没有加表示参数)
2.this关键字可用来调用类中的构造方法(所带的参数必须与调用的构造方法一致)
代码实例:
//定义一个学生类
public class Student{
//定义属性
private String name;
private int grade;
private int score;
//创建构造方法
public Student(){
System.out.println("调用了第一个构造方法");
}
public Student(String name,int grade,int score){
this();//调用第一个构造方法
this.name=name;/*this.name中的name表示学生类的属性name,name表示参数。若该处为name=name,则根据java的就近原则,将该方法中的局部变量即参数name赋值给了参数name,无意义*/
this.grade=grade;
this.score=score;
System.out.println(name+"的"+grade+"分数是:"+score);
}
}
this关键字表示当前调用方法的对象
代码实例:
Student stu=new Student("Tom",3,79);
创建该对象时,stu调用构造方法,故该构造方法中的this表示stu。
2.java数据类型分类
(1).基本数据类型(八大基本数据类型)
8bit byte 字节型 -128~127
16bit short 短整型
32bit int 整型
64bit long 长整型
32bit float 浮点型单精度 //单精度与双精度的区别在于表示的范围不同
64bit double 浮点型双精度
16bit char 字符型
boolean 布尔型 取值ture或false
(2).引用数据类型(对象类型,类类型)
a.说有由class.abstract class和interface定义的类,抽象类,接口。
b.数组 int []array=new array[10];
使用了new关键字的,就属于引用数据类型。
String是Java中的一个类,是引用数据类型。
3.值传递
值传递适用于Java中的八大基本数据类型和String。
值传递的方式是将变量i的值拷贝一份存入另一个变量score,此时在栈内存中就存在了两块独立的存储空间,分别存储了i和score的值,这是改变其中一个的值对另外一个的值无影响。若想要改变两者的值,需在改变后将值再重新赋值一次。
代码实例:
Student类中的方法:
public void study(int score){
score++;
System.out.println(name+"学习了一次学分加一,学分为"+score);//输出score为71
}
TeachTest中调用该方法:
{ int i=70;
stu.study(i);
System.out.println("值传递后i的值:"+i);}//输出的i为70
i传值后并未改变自身的值
4.引用传递
引用传递适用于引用数据类型
引用传递是将对象名stu1中存储的地址拷贝一份存入stu2中,此时两者指向同一地址即指向同一对象,通过其中一个对象名对其属性进行修改,那么另外一个的也会被修改。(相当于1个人有2个名字)
代码实例:
tea1=tea2;
tea1.teach(stu);
tea2.setName_Major("Jim","English");
tea1.teach(stu);
通过对象名tea2改变对象的属性,对象名tea1的也被改变。
- 大小: 19.9 KB
- 大小: 11.8 KB
分享到:
相关推荐
一步一步学JAVA(第四课 方法、值传递、this关键字)
Note 注意 this 是保留关键字,你不能修改 this 的值。 调用 JavaScript 函数 函数中的代码在函数被调用后执行。 作为一个函数调用 实例 function myFunction(a, b) { return a * b; } myFunction(10, 2); // ...
this的值取决于调用的模式,调用模式:方法,函数,构造器和apply调用模式 this被赋值发生在被调用的时刻。不同的调用模式可以用call方法实现 var myObject = { value: 0, increment: function (inc) { this.value...
1.代表当前类,在当前类中可使用this访问当前类成员变量和方法(需要注意的是 静态方法中不能使用this),也可用于参数传递,传递当前对象的引用。 示例代码如下: class Program { static void Main(string[] args...
通过构造函数将一个参数作为特定的 this 关键字的值传递给新创建的空对象。然后构造函数负责为新对象执行适应的初始化(创建属性并给出其初始值)。完成后,构造函数返回它所构造的对象的一个参数。
类和对象 信息的封装和隐藏 构造方法 方法的重载 this 关键字 函数的参数传递 package语句/import语句
面对对象,封装性,构造方法,匿名对象,类设计题目,String类,String类相关操作方法,引用传递深入,this关键字,接受本类引用,信息的隐藏封装,java源文件的基本结构,常用的包,面向对象编程术语
java开发的基本语法 1 注释、分隔符、标识符和关键字 2 数据类型 3 方法、变量 4 值传递和关键字this 5 标准输入输出 6 编码惯例
5.2.7 this关键字 5.3 构造函数与析构函数 5.3.1 构造函数 5.3.2 析构函数 5.4 本章小结 5.5 上机练习 5.6 习题 第6章 域、属性与事件 6.1 域 6.1.1 域的初始化 6.1.2 只读域与readonly关键字 6.2 属性 6.2.1 属性...
3)String,Integer,Double等immutable类型的特殊处理,可以理解为值传递,形参操作不会影响实参对象。 this关键字加与不加到底有什么区别? 虽然this调用方法可以省略this关键字,但是JAVA编译器会自己添加上 简言之...
运算符new首先创建一个新的没有任何属性的对象,然后调用该函数,把新的对象作为this关键字的值传递。var date = new Date()的伪代码的实现就是 var obj = {}; var date = Date.call(obj); 构造函数的
this是javascript的一个关键字,随着函数使用场合不同,this的值会发生变化。但是总有一个原则,那就是this指的是调用函数的那个对象。 this一般指向的是当前被调用者,但也可以通过其它方式来改变它的指向,下面将...
使用例程,简单却完整的探索 C# 语言的构造和特点。本文特别适合有 C++ 基础却没有太多精力学习 C# 的读者。 关于作者 Aisha Ikram 我现在在英国一家软件公司任技术带头人。我是计算机科学的硕士。我主要使用 ...
npm: npm install keo --save目录Keo 哲学的核心是你不应该处理this关键字的概念——虽然在 ES2015 中this关键字变得更容易管理,但它在 React 组件中似乎完全没有必要。 因此,Keo 采取了更加方法,将props 、 ...
9.4.2 引用一个按值返回的堆中对象 9.4 -3引用一个按别名返回的堆中对象 9.4.4 在哪里创建,就在哪里释放 9.5 总结 第10章 深入函数 10.1 函数重载 10.1.1 普通函数的重载 10.1.2 成员函数的重载 10.2 函数的默认...
9.4.2 引用一个按值返回的堆中对象 9.4 -3引用一个按别名返回的堆中对象 9.4.4 在哪里创建,就在哪里释放 9.5 总结 第10章 深入函数 10.1 函数重载 10.1.1 普通函数的重载 10.1.2 成员函数的重载 10.2 函数...
本文简单介绍this指针的基本概念,并通过一个实际例子介绍this指针用于防止变量命名冲突和用于类中层叠式调用的两个用法。 this指针概览 C++中,每个类 对应了一个对象,每个对象指向自己所在内存地址的方式即为...
原因:非static 成员方法里是没有this指针的,所以在里面调用非static 成员方法时,无法传递this指针。static 成员方法不需要this指针。 重点:初始化static成员变量,要在类的外面。 #include using namespac
面向对象 类和对象、实例变量、构造方法、方法重载、引用的概念、this关键字 chp7.面向对象三大特性 封装、继承、多态、对象创建过程、访问修饰符、super关键字、方法重写、instanceof chp8.三个修饰符 static、...
JavaScript关键字this始JS脚本能够根据使用这个关键字的上下文将值传递给函数。 我们先来看如下一个网页,在用户单击链接之后,弹出一个alert框,然后再转到href属性所指的网页 HTML: <!DOCTYPE html> <...