Tag: 内部类

我们可以在Java中创build一个接口的实例吗?

有没有可能在Java中创build一个接口的实例? 我已经读过使用内部匿名类的地方,我们可以这样做,如下所示: interface Test { public void wish(); } class Main { public static void main(String[] args) { Test t=new Test() { public void wish() { System.out.println("output: hello how ru"); } }; t.wish(); } } cmd> javac Main.java cmd> java Main output: hello how ru 这里正确吗?

“object.new”如何工作? (Java是否有.new运算符?)

今天我在阅读加速GWT(Gupta) – 第151页时遇到了这个代码。 public static void getListOfBooks(String category, BookStore bookStore) { serviceInstance.getBooks(category, bookStore.new BookListUpdaterCallback()); } public static void storeOrder(List books, String userName, BookStore bookStore) { serviceInstance.storeOrder(books, userName, bookStore.new StoreOrderCallback()); } 那里有哪些新的运营商? 我从来没有见过这样的语法,任何人都可以解释? 有谁知道在哪里可以find这个在Java规范?

为什么Java禁止内部类中的静态字段?

class OuterClass { class InnerClass { static int i = 100; // compile error static void f() { } // compile error } } 虽然用OuterClass.InnerClass.i访问静态字段是不可能的,但是如果我想logging一些应该是静态的东西,例如创build的InnerClass对象的数量,那么将这个字段设置为静态是有帮助的。 那么为什么 Java禁止内部类中的静态字段/方法呢? 编辑:我知道如何使编译器满意静态嵌套类(或静态内部类),但我想知道的是为什么Java禁止内部类(或普通的内部类)内的静态字段/方法从语言devise和实施方面,如果有人知道更多关于它。 谢谢。

我怎样才能包括使用jackson的对象的原始JSON?

我试图包括一个Java对象的原始JSON时,对象是(德)序列化使用jackson。 为了testing这个function,我写了下面的testing: public static class Pojo { public String foo; @JsonRawValue public String bar; } @Test public void test() throws JsonGenerationException, JsonMappingException, IOException { String foo = "one"; String bar = "{\"A\":false}"; Pojo pojo = new Pojo(); pojo.foo = foo; pojo.bar = bar; String json = "{\"foo\":\"" + foo + "\",\"bar\":" + bar + "}"; […]

PHP中的嵌套或内部类

我正在为我的新网站构build一个用户类 ,但是这次我正在考虑将它构build得有点不同。 我知道C ++ , Java甚至是Ruby (可能还有其他的编程语言)允许在主类中嵌套/内部的类,这使得代码更加面向对象和组织。 在PHP中,我想要这样做: <?php public class User { public $userid; public $username; private $password; public class UserProfile { // Some code here } private class UserHistory { // Some code here } } ?> 在PHP中可能吗? 我怎样才能做到这一点? UPDATE 如果不可能,未来的PHP版本可能会支持嵌套类吗?

从内部类对象中获取外部类对象

我有以下代码。 我想要获得使用我创build内部类对象inner的外部类对象。 我该怎么做? public class OuterClass { public class InnerClass { private String name = "Peakit"; } public static void main(String[] args) { OuterClass outer = new OuterClass(); InnerClass inner = outer.new InnerClass(); // How to get the same outer object which created the inner object back? OuterClass anotherOuter = ?? ; if(anotherOuter == outer) […]

为什么我会需要使用C#嵌套类

我想了解在C#中的嵌套类。 我知道嵌套类是在另一个类中定义的类,我不明白为什么我需要这样做。

不是一个封闭类Java

我试图做一个俄罗斯方块游戏,当我尝试创build一个对象时,我得到“形状不是一个封闭的类” public class Test { public static void main(String[] args) { Shape s = new Shape.ZShape(); } } 我为每个形状使用内部类。 这是我的代码的一部分 public class Shape { private String shape; private int[][] coords; private int[][] noShapeCoords = { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }; private int[][] zShapeCoords […]

什么时候可以安全地使用(匿名)内部类?

我一直在阅读一些关于Android内存泄漏的文章,并从Google I / O 上观看了这个有趣的video。 尽pipe如此,我还是不完全理解这个概念,特别是当它对Activity中的用户内部类是安全的或危险的时候 。 这就是我所理解的: 如果一个内部类的实例比它的外部类生存得更久(一个Activity),就会发生内存泄漏。 – > 哪种情况可以发生? 在这个例子中,我想没有泄漏的风险,因为没有办法延长OnClickListener的匿名类的活动时间比活动,对不对? final Dialog dialog = new Dialog(this); dialog.setContentView(R.layout.dialog_generic); Button okButton = (Button) dialog.findViewById(R.id.dialog_button_ok); TextView titleTv = (TextView) dialog.findViewById(R.id.dialog_generic_title); // *** Handle button click okButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { dialog.dismiss(); } }); titleTv.setText("dialog title"); dialog.show(); 现在,这个例子是危险的,为什么? // We are still inside […]

C#中的私有内部类 – 为什么不经常使用?

我对C#比较陌生,每次开始编写C#项目时(我只用C#编写了几乎成熟的项目),我想知道为什么没有内部类? 也许我不明白他们的目标。 对我来说,内部类(至less是私人内部类)在Pascal / Modula-2 / Ada中看起来很像“内部过程”:它们允许在较小的部分中分解一个主类,以便于理解。 例如:这里是大部分时间看到的东西: public class ClassA { public MethodA() { <some code> myObjectClassB.DoSomething(); // ClassB is only used by ClassA <some code> } } public class ClassB { public DoSomething() { } } 由于ClassB将被ClassA使用(至less一段时间),我的猜测是这个代码可以更好地expression如下: public class ClassA { public MethodA() { <some code> myObjectClassB.DoSomething(); // Class B is only usable […]