网上对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关键字相关推荐

  1. 【Java_基础】Java中Native关键字的作用

    本篇博文转载与:Java中Native关键字的作用 转载于:https://www.cnblogs.com/leiblog/p/10529056.html

  2. JAVA面向对象-----final关键字

    JAVA面向对象-–final关键字 1:定义静态方法求圆的面积 2:定义静态方法求圆的周长 3:发现方法中有重复的代码,就是PI,圆周率.1:如果需要提高计算精度,就需要修改每个方法中圆周率. 4: ...

  3. java的static关键字

    java的static关键字 静态变量和静态方法 static关键字最基本的用法是: 1.被static修饰的变量属于类变量,可以通过类名.变量名直接引用,而不需要new出一个类来 2.被static ...

  4. java中final关键字的使用

    final 中文翻译为 最终的,在java中也是较为常用的关键字之一. 在java 中 final 关键字可以修饰  类.方法.变量 final 修饰在类上,则表示该类不能被继承,如果里面的成员变量没 ...

  5. Java语言的关键字

    Abstract 抽象的 一个Java语言中的关键字,用在类的声明中来指明一个类是不能被实例化的,但是可以被其它类继承.一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现 brea ...

  6. java中的关键字static

    原文链接: https://zhuanlan.zhihu.com/p/70110497 昨晚面试中被问到,没能回答出来.这篇答疑文章写得非常好,无一字可增删,遂直接复制. 在平时开发当中,我们经常会遇 ...

  7. java继承的关键字_超级关键字在Java继承中的作用

    可以使用Java中的super关键字来引用父类对象.它通常在继承的上下文中使用.给出了一个用Java演示super关键字的程序,如下所示: 示例class A { int a; A(int x) { ...

  8. java标识符与关键字_4、Java标识符和关键字

    标识符:Java对各种变量,方法和类等要素命名时使用的字符序列称为标识符.(凡是自己可以起名的地方都叫标识符,都遵循标识符的规则) Java的命名规则: 1.标识符由字母.下划线"_&quo ...

  9. Java的synchronized关键字:同步机制总结

    不久前用到了同步,现在回过头来对JAVA中的同步做个总结,以对前段时间工作的总结和自我技术的条理话.JAVA的synchronized关键字能够作为函数的修饰符,也可作为函数内的语句,也就是平时说的同 ...

最新文章

  1. Spark函数:cogroup
  2. torch.log函数
  3. c++(和opencv)如何把局部变量变成全局变量的功能
  4. vue 监控元素宽度_Vue入门系列之Vue实例详解与生命周期
  5. mysql导入数据库注释乱码_source命令 导入.sql文件时,中文乱码 或者是注释乱码...
  6. 复练-关于面试的技能树-自信从容的参加面试
  7. 力扣225-用队列实现栈(C++,附思路及优化思路,代码)
  8. linux录音命令,安装Linux 录音软件 Record Audio
  9. 海量数据库的查询优化及分页算法方案(3)--改善SQL语句[转]
  10. 一文搞懂 CPU、GPU 和 TPU
  11. 研究年轻用户的心理影响排名 Instagram最负面
  12. AKKA文档(java版)—容错
  13. 解决移动端 footer fixd 定位被键盘顶起来的方案
  14. 单应性变换、仿射变换、透视变换
  15. python socket 通信(2) 协程实现多人聊天室
  16. 这几天阿里云发生故障事件,身为程序员慌得一批……
  17. 制作ZedBoard-linaro-desktop-ubuntu全过程之运行linaro系统
  18. 光学系统像差的计算机模拟,XCCHJJ-B 光学系统像差传函焦距测量综合实验装置
  19. Vmware 网络编辑器 /Windows网络适配器
  20. apache2.2 prefork模式优化

热门文章

  1. 如何修改操作系统运行服务器,如何设置Bios 最常见bios设置与修改详细图解教程...
  2. php getimagecompose,Docker进阶:Dockerfile以及docker-compose工具
  3. Linux复制文件到usb设备中,使用shell脚本实现USB设备的加载与文件复制
  4. 360浏览器怎么收藏网页 360安全浏览器快速收藏网页方法简述
  5. QQ浏览器怎么设置为默认浏览器
  6. chrome浏览器ios版本迎来“信用卡扫描器”代码
  7. 华硕台式机重装系统教程方法
  8. nodejs 安装后 npm-v 无效,node全局环境配置
  9. IoT -- (六) MQTT和CoAP对比分析
  10. try-catch-finally的执行顺序