t3s java_关于JAVA的this关键字
网上对this的描述很朦胧,有的说this表示的是当前对象自己,有的说this是当前对象的引用。
可是自己写了如下的测试代码,产生了几个问题:1 public class T3AboutThis {
2
3 public static void main(String[] args) {
4 new SubT3().func();
5 SuperT3 s = new SuperT3();
6 System.out.println(s instanceof SubT3);//false
7 }
8 }
9
10 class SuperT3 {
11 protected String name = "Jack";
12
13 protected void func() {
14 System.out.println(this.name);//Jack
15 System.out.println(this instanceof SuperT3);//true
16 System.out.println(this instanceof SubT3);//true
17 }
18 }
19 class SubT3 extends SuperT3 {
20 protected String name = "Peter";
21 }
1.this表示的是指向一个实例吗。如果不是指向一个实例,那么为什么this可以参与instanceof运算或当作引用参数传进方法里,super为什么不能?
2.如果this表示当前对象,那么我在第4行new的SubT3的实例,在第14行为什么没有打印出peter呢。
3.如果在第14行时,this只表示SuperT3的引用(我也不知道到底引用什么),那为什么第16行没有打印出与第6行相同的结果呢?
我真的是有点绕晕了。
t3s java_关于JAVA的this关键字相关推荐
- 【Java_基础】Java中Native关键字的作用
本篇博文转载与:Java中Native关键字的作用 转载于:https://www.cnblogs.com/leiblog/p/10529056.html
- JAVA面向对象-----final关键字
JAVA面向对象-–final关键字 1:定义静态方法求圆的面积 2:定义静态方法求圆的周长 3:发现方法中有重复的代码,就是PI,圆周率.1:如果需要提高计算精度,就需要修改每个方法中圆周率. 4: ...
- java的static关键字
java的static关键字 静态变量和静态方法 static关键字最基本的用法是: 1.被static修饰的变量属于类变量,可以通过类名.变量名直接引用,而不需要new出一个类来 2.被static ...
- java中final关键字的使用
final 中文翻译为 最终的,在java中也是较为常用的关键字之一. 在java 中 final 关键字可以修饰 类.方法.变量 final 修饰在类上,则表示该类不能被继承,如果里面的成员变量没 ...
- Java语言的关键字
Abstract 抽象的 一个Java语言中的关键字,用在类的声明中来指明一个类是不能被实例化的,但是可以被其它类继承.一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现 brea ...
- java中的关键字static
原文链接: https://zhuanlan.zhihu.com/p/70110497 昨晚面试中被问到,没能回答出来.这篇答疑文章写得非常好,无一字可增删,遂直接复制. 在平时开发当中,我们经常会遇 ...
- java继承的关键字_超级关键字在Java继承中的作用
可以使用Java中的super关键字来引用父类对象.它通常在继承的上下文中使用.给出了一个用Java演示super关键字的程序,如下所示: 示例class A { int a; A(int x) { ...
- java标识符与关键字_4、Java标识符和关键字
标识符:Java对各种变量,方法和类等要素命名时使用的字符序列称为标识符.(凡是自己可以起名的地方都叫标识符,都遵循标识符的规则) Java的命名规则: 1.标识符由字母.下划线"_&quo ...
- Java的synchronized关键字:同步机制总结
不久前用到了同步,现在回过头来对JAVA中的同步做个总结,以对前段时间工作的总结和自我技术的条理话.JAVA的synchronized关键字能够作为函数的修饰符,也可作为函数内的语句,也就是平时说的同 ...
最新文章
- Spark函数:cogroup
- torch.log函数
- c++(和opencv)如何把局部变量变成全局变量的功能
- vue 监控元素宽度_Vue入门系列之Vue实例详解与生命周期
- mysql导入数据库注释乱码_source命令 导入.sql文件时,中文乱码 或者是注释乱码...
- 复练-关于面试的技能树-自信从容的参加面试
- 力扣225-用队列实现栈(C++,附思路及优化思路,代码)
- linux录音命令,安装Linux 录音软件 Record Audio
- 海量数据库的查询优化及分页算法方案(3)--改善SQL语句[转]
- 一文搞懂 CPU、GPU 和 TPU
- 研究年轻用户的心理影响排名 Instagram最负面
- AKKA文档(java版)—容错
- 解决移动端 footer fixd 定位被键盘顶起来的方案
- 单应性变换、仿射变换、透视变换
- python socket 通信(2) 协程实现多人聊天室
- 这几天阿里云发生故障事件,身为程序员慌得一批……
- 制作ZedBoard-linaro-desktop-ubuntu全过程之运行linaro系统
- 光学系统像差的计算机模拟,XCCHJJ-B 光学系统像差传函焦距测量综合实验装置
- Vmware 网络编辑器 /Windows网络适配器
- apache2.2 prefork模式优化
热门文章
- 如何修改操作系统运行服务器,如何设置Bios 最常见bios设置与修改详细图解教程...
- php getimagecompose,Docker进阶:Dockerfile以及docker-compose工具
- Linux复制文件到usb设备中,使用shell脚本实现USB设备的加载与文件复制
- 360浏览器怎么收藏网页 360安全浏览器快速收藏网页方法简述
- QQ浏览器怎么设置为默认浏览器
- chrome浏览器ios版本迎来“信用卡扫描器”代码
- 华硕台式机重装系统教程方法
- nodejs 安装后 npm-v 无效,node全局环境配置
- IoT -- (六) MQTT和CoAP对比分析
- try-catch-finally的执行顺序