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

java之匿名内部类【代码】

Person.javapackage insof;public class Person extends Object{String name;static int age;public Person() {this.name = "tom";System.out.println("执行的是构造方法");}public void test(){System.out.println("Person的test方法"); }Main.javapackage insof;public class Main {public static void main(String[] args) {//匿名内部类,为Person的子类//该类没有类名,不能显示的调用new方法来创建对象,想要初始化属性可以用...

Java-Groovy中的匿名内部类【代码】

我正在研究groovy-wicket集成,并且在编写事件处理程序时缺少匿名内部类似乎是一个问题.有没有更时髦的方式编写此代码import org.apache.wicket.PageParameters import org.apache.wicket.markup.html.basic.Label import org.apache.wicket.markup.html.link.Link import org.apache.wicket.markup.html.WebPage/*** Homepage*/ class HomePage extends WebPage {public HomePage(final PageParameters parameters) {// Add the si...

java-将instanceof与来自不同类的静态内部类一起使用【代码】

public class A {static class B {} }public class C {void m(X x) {if (x instanceof A.B) { ... } // not working} }在这种情况下,是否有办法验证某个对象(x)是否实际上是某个类(A)的内部类(B)? 我收到此错误,但是很遗憾,我无法控制A类和B类.The type A.B is not visible解决方法:我以评论的形式提出了这个答案,但经过一点思考(思考的方式,而不是编码的方式!),我将其变成了答案. 由于您无权控制A或B,并且B具有包访问权限,因此您...

java-从静态外部util函数访问内部类【代码】

我有一个大致像这样的类结构:final public class Util {private Util() {throw new AssertionError(); // there is not supposed to exist an instance}public static DataElem getData() {return new Util().new DataElem();}public class DataElem {// class definition} }正确生成内部类实例的代码来自this线程.但是我不喜欢每次创建一个内部类实例时,首先创建一个外部类实例.而且由于我将AssertionError放入其构造函数中,因此...

java-从私有内部类访问外部类私有变量是一种不好的做法吗?【代码】

假设我们有public class parent {private string x;private class child {void doSomething(){System.out.println(x);}} }当然,这是一个简单的例子,但是总的来说,我应该像这样从外部类使用私有变量,还是应该避免这种情况并通过构造函数中的参数将它们传递给内部类?解决方法:功能可能不相同.如果实例变量被重新分配,将它们传递给构造函数将改变功能.具有两个副本使代码更难阅读. 如果实例变量没有变化并且类确实在一起,那可能很好....

java-匿名内部类中的NullPointerException【代码】

我有一个简单的Android片段CreateAccountBookingFragment,它继承自CreateAccountFragment,它具有以下方法:@Override public void onViewCreated(final View view, @Nullable Bundle savedInstanceState) {super.onViewCreated(view, savedInstanceState);passwordTextView.setOnEditorActionListener(new TextView.OnEditorActionListener() {public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {if ((eve...

JNI:javah处理作为内部类的参数【代码】

我有一个JNI函数,将android.graphics.Bitmap $Config作为参数传递. Config是Bitmap的内部类.当我运行javah时,我得到了不正确的标头签名(将其截断为单个参数):Landroid_graphics_Bitmap_Config这等效于:Landroid/graphics/Bitmap/Config代替:Landroid_graphics_Bitmap_00024Config这是等效的Landroid/graphics/Bitmap$Configjavah生成的内容是错误的,因为JNI将抛出一个错误,以寻找内部类$的_00024表示形式. javah的man似乎并不意...

java-为什么我不能通过内部类引用访问外部类数据成员?【代码】

class OuterClass1 {static private int a = 10;void get() {System.out.println("Outer Clas Method");}static class StaticInnerClass {void get() {System.out.println("Inner Class Method:" + a);}}public static void main(String args[]) {OuterClass1.StaticInnerClass b = new OuterClass1.StaticInnerClass();b.get();System.out.println(b.a);System.out.println(b.c);} }我知道静态嵌套类可以访问外部类的数据成员,所以...

Java内部类

Java内部类真的很难理解,但有必要搞懂,因为内部类让外部类更丰富多彩了,就好像一个人的心中还可以住着另外一个人。01、前言昨天晚上,我把车停好以后就回家了。回家后才发现手机落在车里面了,但外面太冷,冷到骨头都能感受到寒意——实在是不想返回一趟去取了(小区的安保还不错,不用担心被砸车玻璃),于是打定主意过几个小时的“世外桃源”生活——别人找不到我,我也找不到别人,这种与世隔绝的状态非常适合读书写作。把厚...

Java Day16【第二十八章】内部类基本概念【代码】

【第二十八章】内部类基本概念 一.内部类的基本定义 范例:内部类class Outer {private String msg = "www.mldn.cn";public void fun() {Inner in = new Inner();in.println();}class Inner{public void println() {System.out.println(Outer.this.msg);}} }  内部类的优势:轻松访问外部类的私有属性 二.内部类的相关说明:现在已经清楚的认识到了内部类的优势以及结构,现在对内部类进行一些相关说明1.外部类也可以轻松访问内部...

java-多少外部**此**将具有此内部类?【代码】

我有以下内部类的情况.class Outer {private class Inner1 extends InnerBase {}private class Inner2 extends InnerBase {}private class InnerBase {} }通常,我认为内部类比外部类有一个额外的隐藏“ this”. 但是,但是将发生内部类是从另一个内部类派生的吗? 所有内部类(Inner1,Inner2,InnerBase)都应该有一个附加的类. Inner1,Inner2对外部this有自己的引用吗?还是只是重复使用InnerBase中的一个,导致行为略有不同? (隐藏此...

Java之有名内部类和匿名内部类

Java内部类 定义在外部类中的类就是内部类;内部类的定义是为了更清楚、详细地描述事物。 有名内部类和匿名内部类 Java语言根据内部类是否有类名将内部类分为有名内部类和匿名内部类(没有类名)。 有名内部类及创建对象 public class OutClass{ public void play(){ System.out.println("正在玩耍......"); } public class Inner{ public void play(){ System.out.println("正在愉快地玩耍......"); } } /* public static void ...

Java中可运行的内部类【代码】

说我有一堂课叫做“ Example” 在“示例”内部,我有一个可运行的内部类 我在“示例”中执行runnablepublic class Example {public Example() {//executing the runnable here}private void a() {}public void b() {}public class RunMe implements Runnable {public void run() {a();b();}} }假设Example在主线程上运行,在这里会发生什么? a和b从RunMe线程还是主线程运行? a是私有的而b是公共的有关系吗?解决方法:如果您的Examp...

java-将Lambda表达式转换回内部类?【代码】

我有以下lambda表达式:Function<Integer, Function<Integer, Function<BinaryOperator<Integer>, Integer>>> someComputation = i1 -> i2 -> f -> f.apply(i1, i2);Java 8 lambda语法对我来说还是有点陌生??,因此我尝试将其转换回内部类,但似乎无法转换,这会引发编译错误,或者我可能丢失了某些东西.我的想法是这样的:Function<Integer, Function<Integer, Function<BinaryOperator<Integer>, Integer>>> someComputation2 = new ...

java-内部类会使封装的概念无效吗?【代码】

使用private访问修饰符,以便我们只能在类中使用相应的成员.但是,使用内部类,我们可以定义一种方法来访问外部类的私有成员.这是该代码:import java.util.*; import java.lang.*; import java.io.*;class Outer {private int x = 1;Inner getInner() {Inner inner = new Inner();return inner;}class Inner {int getX() {return x;}} }class Ideone {public static void main (String[] args) throws java.lang.Exception{Outer out...