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

java – 从内部类中的Local内部类调用方法【代码】

我有这个代码:class A{class B{public void foo(){class C{public void bar(){baz();}}}public void baz(){}}public void baz(){} }如果我在C.bar()中调用baz(),它将调用B.baz().如果我在A中引用A,(A aref = this;)那么我可以通过它调用A.baz().有没有其他方法可以做到这一点?解决方法:你可以使用A.this.baz().这被称为合格的这个表达.

java – 请参阅从匿名内部类封闭类’this【代码】

假设您有以下代码:public abstract class DecisionFunctionJ {public abstract double evaluate();public DecisionFunctionJ add(final DecisionFunctionJ another) {return new DecisionFunctionJ() {@Overridepublic double evaluate() {return this.evaluate() + another.evaluate();}};} }此代码无法按预期运行,因为它会导致无限循环/ StackOverflowException.原因很明显:this.evaluate()引用内部匿名类的evaluate方法,而不引...

静态抽象内部类访问外部类私有字段java时的编译器错误【代码】

我有一个私有fieds类,还有一个静态抽象内部类,泛型类扩展外部类类型,尝试访问外部类私有字段,但得到以下错误: – 错误:a在外部有私人访问权限 – 错误:doSomething在Outer中拥有私人访问权限 见下面的代码:public abstract class Outer extends SomeOuter {private Object a;private void doSomething(){}public static absract class Inner<T extends Outer> extends SomeOuter.SomeInner<T> { public InnerMethod(T p) {...

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第7节 内部类_12_局部内部类的final问题【图】

单独看个很小但是很重要的注意事项新建一个外部类新建局部内部类。这里num因为没有重名的可以直接访问没写final也叫做有效final ,因为它的值没有变!不过在前面加上final更保险写上final后,如果再赋值就会报错。没写final。但是二次赋值了,也会报错这里面有个内存中声明周期的问题。 方法进栈。调用后就会出栈。所以num值的就没了。但是内部类还在调用num,这个时候的num是内部类赋值过来的 具体详细的没听,后续有兴趣,可以再...

Java面向对象之内部类【代码】

我的网站:欢迎大家访问 内部类 概念:什么是内部类 在一个类的内部写的类就是内部类,会生成独立的字节码文件 创建语法 非静态内部类 外部类.内部类 对象名 = new 外部类().new 内部类(); 静态内部类 外部类.内部类 对象名 = new 外部类.内部类();Demo public class NeiBuClass {public static void main(String[] args) {_10HomeWork.PhoneCall pc= new _10HomeWork().new PhoneCall("13598746531");pc.showNum();}class PhoneCal...

Java内部类总结

原文链接:http://www.cnblogs.com/devinzhang/archive/2012/02/09/2344059.htmlJava内部类其实在J2EE编程中使用较少,不过在窗口应用编程中特别常见,主要用来事件的处理。其实,做非GUI编程,内部类完全可以不用。 ? 内部类的声明、访问控制等于外部类有所不同,要灵活使用内部类来编写程序,还是有相当难度的,Java发明了这种难懂的玩意儿,在其他语言中是没有的,但是在Java中,内部类也相当的重要,尤其做GUI开发时候,事件的...

Java内部类【代码】

理解: 一个类中又完整的嵌套了另一个类结构,被嵌套的类称为内部类。外面的类称为外部类,和内部类无关的外部类称为外部其他类。class A{  // B的外部类String name;public void method(){for(){int i;class B{ // A的内部类String name;}}} } class Other{  // B的外部其他类}好处: 可以直接访问外部类中的所有成员,包含私有的!!! 分类: 定义在成员位置上: 成员内部类(没有使用static修饰) √ 静态内部类(使...

java – 从内部类线程访问外部字段(非最终)是否是线程安全的?【代码】

基本上以下工作,但自从我读到关于最终关键字后,如果不同的线程访问它,如果我必须声明name final,我不再确定了吗? 提前致谢.public class Test4 {// to ensure thread-safety do we have to declare the variable name final ?private String name;public Test4 (String name) {this.name = name;}public void start() {new MyThread().start();}private class MyThread extends Thread {public void run() {System.out.println(na...

java – 为什么我只有在拥有内部类时才能获得“无法从静态上下文引用的非静态变量”错误?【代码】

我在静态与非静态的概念上苦苦挣扎.我正在研究这个Thread示例程序(从here originally修改),当我使用内部类时,我将得到错误:Error: non-static variable this cannot be referenced from a static context这是导致错误的代码:public class Main2 {public static void main(String[] args) {Thread simple = new Thread(new SimpleTask());simple.start();}class SimpleTask implements Runnable {public void run() {};}class Dae...

java – 匿名内部类:它们何时适合?【代码】

以下面的例子为例.有一个我想要使用的对象,称之为Doodad. Doodad元素对浏览器事件的处理实施不佳. Doodad的典型实例化将是Doodad someDoodad = new Doodad();.显然,由于事件处理不当,这不符合我的需要.我是否适合覆盖onBrowserEvent()方法,如下所示:Doodad someDoodad = new Doodad() { @Overridepublic void onBrowserEvent(Event event) {switch (DOM.eventGetType(event)) {case Event.ONDBLCLICK:case Event.ONFOCUS:case Eve...

java – 无论如何@ Inject / @将内部类自动装入外部类?【代码】

在Spring / JSR-330中,有没有办法正确声明需要依赖注入的内部类,这样我可以将它注入外部类? 例如:@Component public class TestClass{// How to declare this class?private class TestClassInner{@Autowired private SomeBean somebean;public boolean doSomeWork(){return somebean.doSomething();} }// Inject the inner class here in the outer class such that the outer class can use an instance of it@A...

java – 不能从另一个包的子类访问受保护的内部类【代码】

我在Java中有以下代码:package a; public classs ClassInOtherPackage{protected void protectedMethod(){}protected class protectedInnerClass {} }package b; import a.*; public class MyClass extends ClassInOtherPackage{public MyClass(){MyClass x = new MyClass();x.protectedMethod(); //<-- This one ok//UPDATED: Declaration is okMyClass.protectedInnerClass y; //<-- This one ok//UPDATED: Only when instanti...

java面向对象--内部类【图】

6 匿名内部类:Anonymous inner class使用匿名内部类的前提:内部类可以继承或实现一个外部类或者接口什么情况下,内部类只被使用一次呢?最常见的就是方法的形参列表上多态+实现接口

Java Singleton内部类错误理解【代码】

我在过去的两个月里一直在编程Java,但我在python和C中经验过程序员.我知道我因此而犯了错误. 我来到这个问题清除警告我在Android工作室的项目. 我使用带有内部类的Singleton类将所有配置参数保存在一个位置,让所有其他类访问它而不需要传递配置. 这是我的Singleton的基本代码public class syscfg {public List<CommData> Commlist;public static CommConfigIP4 MyCommConfig;// = new CommConfig();private static syscfg instance...

java – 在创建匿名子类的内部类的匿名子类时,Netbeans无法找到主类【代码】

当我尝试在其包含类的包含类的匿名子类的初始化内创建一个新的匿名Action子类时,Netbeans突然无法在运行时找到主类,尽管能够毫无问题地清理构建并运行此代码评论说. 代码结构: 主要包装: >主类< - 目前正在查看此文件> public void run(…)(在main(String [] args中调用)) >演员a =新演员(){ > Script script = new Script();> {(演员实例启动代码) > script.new Action(0){…}导致破损 >包装演员 >公共抽象类Actor >公共类脚本...