【ThinkInJava之内部类】教程文章相关的互联网学习教程文章

java-使用spring创建内部类【代码】

在Spring中创建非静态内部类的最佳方法是什么?class A {public class B {}B b;public void setB(B b) {this.b = b;} }这似乎可行,但我想避免需要构造函数参数:<bean id="a" class="A"><property name="b"><bean id="b" class="A$B"><constructor-arg ref="a"/></bean></property> </bean>解决方法:在某些时候,您需要指定外部对象,这是不可避免的.但是,您可以通过向A添加一个创建内部B的工厂方法,将其移入Java和移出XML.public cl...

java-在Spring 4 MVC中是否可以将控制器/具有控制器作为内部类嵌套?【代码】

我想有一个映射到/ site /的控制器,并且在这两个不同的控制器中看起来像:@Controller @RequestMapping(value="/api") public class ApiController {@Controller@RequestMapping(value="/foo")public class FooController {//Some /foo/* methods here}@Controller@RequestMapping(value="/bar")public class BarController {//Some /bar/* methods here}//Other methods that don't match /foo or /bar }可以吗?还是将其与/ site...

java-如何使用匿名内部类?【代码】

我使这两个类都利用了匿名内部类的概念.1类具有静态内部类.第2类使用它.但是我不明白如何调用内部类的方法.请帮帮我. 1类public class outerclass {outerclass() {System.out.println("Constructor of new class");}public void showthis(String str) {System.out.println(str);}static class insideclass {insideclass() {System.out.println("This is inside class constructor");}public void nowshowthis(String str) {System....

与Java内部类相比,Scala闭包->最终VS var

我首先问了有关在Java中将final与匿名内部类一起使用的问题:Why do we use final keyword with anonymous inner classes? 我实际上正在阅读Martin Odersky的Scala书.看来Scala简化了许多Java代码,但是对于Scala闭包,我可以注意到一个明显的不同. 在Java中,我们使用匿名内部类“模拟”闭包,捕获最终变量(该变量将被复制以驻留在堆中而不是堆栈中),在Scala中,我们似乎可以创建可以捕获val的闭包,但是也是一个var,因此可以在闭包调用...

在java中创建外部类外部的内部类的实例【代码】

参见英文答案 > Java – No enclosing instance of type Foo is accessible 5个 我是Java的新手. 我的文件A.java看起来像这样:public class A {public class B {int k;public B(int a) { k=a; }}B sth;public A(B b) { sth = b; } }在另一个java文件中,我正在尝试创建一个A对象调用anotherMethod(new A(new A.B(5)));但由于某种原因,我得到错误:无法访问类型A的封闭实例.必须使用类型A的封闭...

如何在Java中初始化匿名内部类【代码】

有没有办法在Java中初始化匿名内部类? 例如:new AbstractAction() {actionPerformed(ActionEvent event) {...} }有没有办法在类声明中的某处使用putValue方法?解决方法:使用初始化程序块:new AbstractAction() {{// do stuff here}public void actionPerformed(ActionEvent event) {...} }初始化实例成员Normally, you would put code toinitialize an instance variable in aconstructor. There are twoalternatives to using...

使用Java中的接口的匿名内部类【代码】

因此,当查看lambda表达式并使用它们来替换Java中的EventHandlers的匿名内部类时,我遇到了一些让我停下来思考的匿名内部类.例如,在为通常实现ActionListener的东西编写匿名内部类时,我们编写myJButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e){//DO SOMETHING} });我对此感到困惑的是,ActionListener是一个界面,所以我认为有必要做一些像…myJButton.addActionListener(new m...

java – 方法本地内部类访问方法的局部变量【代码】

嗨,我正在阅读关于内部类的SCJP书,发现这个陈述,它就是这样的.A method local class can only refer to the local variables which are marked final在解释中,指定的原因是关于本地类对象的范围和生命周期以及堆上的局部变量,但我无法理解.我在这里错过任何关于最后的事情吗解决方法:原因是,当创建方法本地类实例时,它引用的所有方法局部变量实际上都是由编译器复制到其中的.这就是为什么只能访问最终变量的原因.最终变量或引用是不...

Java 内部类【代码】

1. 简介 在 Java 中可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种: 成员内部类、局部内部类、匿名内部类和静态内部类。 2. 优点 在程序设计中有时会存在一些使用接口很难解决的问题,此时可以利用内部类提供的、可以继承多个具体的或者抽象的类的能力来解决。 可以这样说,接口只是解决了部分问题,而内部类使得多重继承的解决方案变得更加完整。 使用内部类可以...

java – 无法从Android中的外部类访问内部类数据【代码】

这是我的代码.我无法访问signUp集合中的用户名.我正在获得价值,但无法从外部访问. 所以请告诉我一些方法. 我也粘贴了我的数据库的快照,有两个表,我需要从中访问数据并显示然后在回收站视图中显示.需要以列表格式显示值. Ienter image description here@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);recyclerView=(RecyclerView)findV...

java – 外部和内部类方法之间的锁定和同步?【代码】

我的问题是,如果我有一些像以下代码 – :public class OuterClass{public class InnerClass{public synchronized methodA(){ /* does something */}} }现在当多个线程想要调用内部类方法时,它们将获取外部类对象或内部类对象的锁定,以及如何修改语句以便我同步访问外部类对象/解决方法:when multiple threads want to call the inner class method will they acquire a lock for the outer class object没有.or for the inner cla...

java – 访问内部类中的外部类变量【代码】

在内部类中,可以访问外部类的变量,但不能访问方法的局部变量.我理解一个关于方法的局部变量不可访问的部分,但我想知道为什么外部类变量是可访问的? 我的理解是,当内部类与外部类绑定时,只要父类可用,子进程就可以访问其父变量.我对么?解决方法:假设你的外部类被称为Outer,从内部类的范围(非静态),Outer.this.foo来到该字段. 例如,Outer.this.foo=new ArrayList<>();其中Outer是类的名称,foo标识字段. 您也可以直接抓取它作为foo ...

Java自学-接口与继承 内部类【代码】【图】

Java 内部类 内部类分为四种: 非静态内部类 静态内部类 匿名类 本地类 步骤 1 : 非静态内部类 非静态内部类 BattleScore “战斗成绩” 非静态内部类可以直接在一个类里面定义 比如: 战斗成绩只有在一个英雄对象存在的时候才有意义 所以实例化BattleScore 的时候,必须建立在一个存在的英雄的基础上 语法: new 外部类().new 内部类() 作为Hero的非静态内部类,是可以直接访问外部类的private实例属性name的 package charactor;pub...

如何从Java中的匿名内部类中获取对封闭类的引用?【代码】

参见英文答案 > Getting hold of the outer class object from the inner class object 8个我正在外部类中创建一个显式引用,以便在匿名内部类中有一个名称来引用.有一个更好的方法吗?解决方法:我刚刚发现了这个.使用OuterClassName.this.class Outer {void foo() {new Thread() {public void run() {Outer.this.bar();}}.start();}void bar() {System.out.println("BAR!");} }更新如果您只想要...

夯实Java基础系列18:深入理解Java内部类及其实现原理【代码】

本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈 文章首发于我的个人博客:www.how2playlife.com本文是微信公众号【Java技术江湖】的《夯实Java基础系列博文》其中一篇,本文部分内容来源于网络,为了把本文主题讲得清晰透彻,也整合了很多我认为不错的技术博客内容,引用其中了一些比较好的博客文章,如有侵权,请联系作者。...