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 实例:
随机推荐
- React.memo All In One
React.memo All In One https://reactjs.org/docs/react-api.html#components React.memo const MyComponen ...
- 海 鱼立 鲷 & 海䲞鲷
海 鱼立 鲷 & 海䲞鲷 䲞 lì 鲷 diāo 二长棘鲷 二长棘鲷(学名:Parargyrops edita)为辐鳍鱼纲鲈形目鲷科二长棘鲷属的鱼类,俗名板鱼.䲞鱼.盘仔鱼.立花.赤鬃.长鳍. ...
- js class static property & public class fields & private class fields
js class static property class static property (public class fields) const log = console.log; class ...
- Learn-JavaScript-with-MDN 系列文章: 01. var & let & const 对比
Learn-JavaScript-with-MDN 系列文章: 01. var & let & const 对比 var & let & const 区别 https: ...
- Flutter 在mixin中使用setState
相关问题 创建mixin import 'package:flutter/material.dart'; mixin JobsMixin<T extends StatefulWidget> ...
- CAD颜色对照表
cad颜色代码与RGB参数对应表 1 255 0 02 255 255 03 0 255 04 0 255 2555 0 0 2556 255 0 2557 0 0 08 128 128 1289 1 ...
- OpenCVE-开源漏洞预警平台
0x01简介 主程序主要是通过使用NVD提供的JSON数据来更新CVE数据,并在前端进行展示.然后通过邮件进行通知,目前也只支持邮件.这个开源预警平台看上去并不是很完善,因为CVE本身就具有预警滞后性 ...
- TERSUS无代码开发(笔记07)-简单实例手机端后台逻辑开发
提交申请逻辑开发 1.添加父级对象引用(从父级对象中获取前端输入框的值) 1.设计数据库表(表名和字段名称不能用中文) 2.设计置数据库主键(可设联合主键) 3.传值形成数据实列处理 4.服务器端处理 ...
- 如何吃透Python的面向对象(OOP)
本篇可乐和大家一起来吃透 Python 的面向对象,类和实例. 面向对象(OOP) 解释:面向对象它是一种编程的思想,将现实事物抽象化为编程对象. 举例说明:喝可乐 ① 选择自己根据配方买对应的材料 ...
- python3中post和get请求处理
post 请求处理 def url(): url = "www.xxx.com.cn" data = { "csrfmiddlewaretoken":" ...