Java学习之this关键字的使用
•区分成员变量和局部变量
public class Person { String name;
int age; public void set(String name,int age) {
this.name = name;
this.age = age;
} }形参与成员名字重名,用 this 来区分;
•构造器与构造器之间的调用
可以使用 this 关键字调用重载构造方法,避免相同的初始化代码;
只能在构造方法中用,并且必须位于构造方法的第一句;
除了构造器之外,编译器禁止在其他任何方法中调用构造器。
public class Person { String name;
int age; Person(){
System.out.println("无参构造函数");
} Person(String name){
this();
this.name = name;
System.out.println("含一个参数的构造函数");
} Person(String name,int age){
this(name);
this.age = age;
System.out.println("含两个参数的构造函数");
} public static void main(String[] args) { Person person = new Person("MElephant",18); }
}运行效果
•在继承中使用 this
新建一个 Person 类作为父类,Boy 类作为子类;
code
public class Person { int age; public void f() { System.out.println("age = "+this.age);
System.out.println(this.toString()); } public static void main(String[] args) { Boy boy = new Boy();
boy.f();
}
}
class Boy extends Person{ public void f() { age = 18;
super.f(); }
}在该代码中,Person 类包含一个成员变量 age 和一个 f() 方法,并在该方法中添加了两行打印语句;
其子类 Boy 重写了 f() 方法,设置了 age = 18 ,同时通过 super.f(); 调用了其父类的 f() 方法;
接下来新建一个 Test 类来测试输出结果;
Test.java
public class Test { public static void main(String[] args) { Boy boy = new Boy();
boy.f();
}
}运行结果
可以看到,通过 super.f() 打印的两条语句中的 this 指向的是 Boy 类;
•声明
参考资料
Java学习之this关键字的使用的更多相关文章
- Java学习之finally关键字总结
Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...
- Java学习笔记18---final关键字修饰变量、方法及类
英语里final这个单词大家都知道是"最终的"意思,其实还有一个意思是"不可更改的".在Java里,final关键字作"不可更改的"来解释更 ...
- [Java学习]面向对象-super关键字;final关键字
super关键字 super代表的是当前子类对象中的父类型特征,可以看做是this的一部分.与this不同,不是引用,不存储对象内存地址. super可以用在什么位置 1 可以用在成员方法中.不能用在 ...
- Java学习笔记——static关键字与静态的使用方法
static:可以修饰成员变量和成员方法. 当变量被static修饰后,则其可以直接被类名调用.类名.成员. static特点: 随着类的加载而加载: 优先于对象存在: 被所有的对象共享,节省空间,但 ...
- java学习笔记11-static关键字
如果在类中使用static关键字创建方法,这种方法称为类方法,可以在这个类中直接引用.而不是用static创建的方法.这种方法称为对象方法(实例方法),需要创建对象后才能使用. package les ...
- Java学习:final关键字的使用与注意事项
final 关键字代表最终.不可改变的. 常见的四种用法 可以用来修饰一个类 可以用来修饰一个方法 可以用来修饰一个局部变量 可以用来修饰一个成员变量 1.当final关键字用来修饰一个类的时候,格式 ...
- Java学习:static 关键字概述
static 关键字概述 一旦用了static关键字,那么这样的内容不再属于对象自己.而是属于类的,所以凡是本类的对象,都共享同一份. 如果没有static关键字,那么必须首先创建对象,然后通过对象才 ...
- Java学习日记-5 关键字static和final 以及接口
乱入:表达式中的自动类型转换 char,short,byte都升级为int类型进行运算,结果为int,但其原变量类型并不改变. 所以,byte b = 10; b = b*b; 编译时会报错.但是写 ...
- java学习之super关键字
对于具有public或者protected属性的父类,其子类若想继承父亲的属性或者方法,那么需要用到super 实例:
随机推荐
- Iterators & Generators in depth
Iterators & Generators in depth https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/It ...
- Java Hipster
Java Hipster JHipster JHipster is a development platform to quickly generate, develop, & deploy ...
- vuex bug & vue computed setter
vuex bug & vue computed setter https://vuejs.org/v2/guide/computed.html#Computed-Setter [Vue war ...
- input number step
input number step <!DOCTYPE html> <html> <body> <h1>The input step attribute ...
- 开源OA办公平台搭建教程:O2OA+Arduino实现物联网应用(二)
O2OA平台搭建 O2OA的开发环境非常简单,安装服务器后即可通过浏览器进行开发了和使用.具体可参考文档库中的其他文档,有比较详细的介绍,这里就不再赘述了. Arduino开发发环境搭建 安装Ardu ...
- windows server2012 搭建FTP服务器过程
搭建过程链接地址:https://blog.csdn.net/smalllu161226/article/details/53887751 1.打开windows server2012R2 服务器管理 ...
- Java基本概念:内部类
一.简介 描述: 很多时候我们创建类的对象的时候并不需要使用很多次,每次只使用一次,这个时候我们就可以使用内部类了. 内部类不是在一个java源文件中编写两个平行的类,而是在一个类的内部再定义另外一个 ...
- 看完就懂--CSS选择器优先级的计算
CSS选择器优先级的计算 什么是选择器的优先级 优先级的计算与比较(一) - 优先级具有可加性 - 选择器优先级不会超过自身最大数量级 - 同等优先级情况下,后写的覆盖前写的 - 并集选择器之间的优先 ...
- 2.5w字 + 36 张图爆肝操作系统面试题,太牛逼了!
欢迎各位大佬访问我的 github ,跪求 star bestJavaer 大家好,我是 cxuan,我之前汇总了一下关于操作系统的面试题,最近又重新翻阅了一下发现不是很全,现在也到了面试季了,所以我 ...
- HTTP头Content-Type类型记录
默认发POST格式 Content-Type: application/x-www-form-urlencoded Content-Type: application/x-www-form-urlen ...

