package test;

public class A extends B {

    public String toString() {
return "A";
} public static void main(String[] args) {
A a = new A();
a.say(); A.AIn aa = a.new AIn();
aa.bin(); } class AIn extends BIn{ } }
package test;

public class B {
public Thread thread; public void say() {
//输出A
System.out.println(this.toString());
// 输入A,父类方法中使用真正子类对象用"父类.this"
System.out.println(B.this.toString()); say1(new I() {
public void II() {//匿名内部类的this
System.out.println(this);//B$1
System.out.println(B.this);//A
// System.out.println(A.this); 父类是访问不到子类A的,只能写B. 不能写B.A的属性,只能写B.B的属性,也就是给子类A对象赋值,因为访问不到A的任何东西
thread = Thread.currentThread();
B.this.thread = Thread.currentThread();
}
});
} public String toString() {
return "B";
} public void say1(I i) {
i.II();
} class BIn{
public void bin() {
B.this.thread = Thread.currentThread();
// A.this.thread = Thread.currentThread(); 父类是访问不到子类A的,只能写B.
System.out.println(B.this);//A
}
}
}
package test;

public interface I {
void II();
}

匿名内部类和内部类中的this的更多相关文章

  1. java 泛型深入之Set有用工具 各种集合泛型深入使用演示样例,匿名内部类、内部类应用于泛型探讨

    java 泛型深入之Set有用工具 各种集合泛型深入使用演示样例,匿名内部类.内部类应用于泛型探讨 //Sets.java package org.rui.generics.set; import j ...

  2. 错误: 从内部类中访问本 地变量vvv; 需要被声明为最终类型

    从github 下载了源码, 进行编译, 出现了下面的错误 E:\downloads\ff\elasticsearch-master\elasticsearch-master>GRADLE :b ...

  3. java匿名内部类之RocketMQ中的应用

    匿名内部类在spring中没怎么见用,在RocketMQ中有大量的应用. 确实可以提高开发效率.这可能代表两种写代码的态度吧. 匿名内部类简单来说就是直接在函数中实现接口方法,不需要声明一个接口实现类 ...

  4. 为什么局部内部类中访问同一方法中的变量,该变量一定要是final修饰的

     最近有一个疑惑:为什么局部内部类中访问同一方法中的变量,该变量一定要是final修饰的         首先,我们看一个局部内部类的例子:             class OutClass {  ...

  5. java中内部类中还有内部类请给实例!

    2.当内部类中还有一个内部类,下面给出了一个实例.[新手可忽略不影响继续学习](以下多出代码, 用蓝色标记)例2.2:class ShellMark_to_win {    int shell_x = ...

  6. Java中的匿名内部类及内部类的二三事

    匿名内部类适合创建那些只需要使用一次的类,它的语法有些奇怪,创建匿名内部类会立即创建一个该类的实例,这个类定义立即消失,且不能重复使用. 定义匿名类的格式如下: new 实现接口() |父类构造器(实 ...

  7. 内部类中class声明地方不同,效果不一样

    1.一个声明在类中,一个声明在类的方法中.在类中的方法中声明内部类,其方法中的内部类调用 内部类外中的变量,变量必须final class Outter{ int x1 = 0; public voi ...

  8. Java中内部类中使用外面变量为什么final修饰?

    所以final从语法上约束了实际上两个不同变量的一致性(表现为同一变量). 我的理解: 例如这样的代码: public void test(String str){ str="abc&quo ...

  9. java-多态、内部类

    1.多态: 1)意义: 1.1)同一类型的引用,指向不同的对象时,有不同的实现-------行为的多态: cut(),run(),teach()... 1.2)同一个对象,被造型为不同的类型时,有不同 ...

随机推荐

  1. VS Code对.NET Core项目持续的Build

    首先打开csproj文件, 添加一个watcher tool: <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGr ...

  2. 遮罩层出现后不能滚动 添加事件@touchmove.prevent

    <div class="maskshow" @click="hidden_video" @touchmove.prevent></div> ...

  3. python按修改时间顺序排列文件

    import os def sort_file_by_time(file_path): files = os.listdir(file_path) if not files: return else: ...

  4. [django]模板中自定义变量&django模板中的变量

    django自定义模板变量 context_processors.py def mysetings(request): return { 'NAME': 'maotai' } settings.py ...

  5. docker知识点

    1  安装 http://www.runoob.com/docker/centos-docker-install.html 2  dockerhub官网找到 emqttd 执行 docker pull ...

  6. vuex中的dispatch和commit

    dispatch:含有异步操作,eg:向后台提交数据,写法: this.$store.dispatch('mutations方法名',值) commit:同步操作,写法:this.$store.com ...

  7. Git Your branch is ahead of 'origin/master' by X commits解决方法

    (1)方法1:git fetch origin (2)方法2(代码还需要):git push origin (3)方法3 (代码不需要):git reset --hard origin/$branch ...

  8. Python字典和集合的内部实现

    1. 哈希表(Hash tables) 在Python中,字典是通过哈希表实现的.也就是说,字典是一个数组,而数组的索引是经过哈希函数处理后得到的.哈希函数的目的是使键均匀地分布在数组中.由于不同的键 ...

  9. android SDK打包app

    SDK  软件开发工具包(Software Development Kit) JDK  开发工具包(Java Developer's Kit) 1.搜索java jdk 进入官网 http://www ...

  10. color xml arm相关

    #-------------------------------------------------------------------------- # C O L O R S #--------- ...