//我想在c类的main函数中实例化一个内部静态类B下面的写法有问题,请问该如何修改?
class A
{
static class B
{
void qq()
{
System.out.println("innter");
}
}
}
class C
{
public static void main(String args[])
{
A.B x=new A().new B();
}
}
class A
{
static class B
{
void qq()
{
System.out.println("innter");
}
}
}
class C
{
public static void main(String args[])
{
A.B x=new A().new B();
}
}
解决方案 »
- 代码运行的不完整
- JAVA打印指定TXT出现乱码!!!!
- 请问怎么把String转换成Reader
- JRadioButton的问题
- Please help me, I have a server.java and client.java to test the file transmission on internet
- 我做了一个简单的package,但出错,大家帮忙看一下
- 请教怎么在java里实现C语言里的popen()函数的功能?
- 如何用jdk来进行多个文件的编译?
- 文件操作问题
- 斑竹,上帝,救我!这个简单的初级问题,我几天也解决不了,关于一个System.in.read(),怎么也不让我输入一个字符
- 13题 100分!
- 难道写JAVA+SQL SERVER存储过程时不能用一个变量吗,
{
static class B
{
B(String ff)
{
}
void qq()
{
System.out.println("innter");
}
}
}
public class C
{
public static void main(String args[])
{
A.B x=new A.B("ff");
}
}
A.B x=new A.B("ff");
此时实例化当中有没有生成A类的实例?
还有一点,因为B类是表静态的,也就是说是在编译的时候生成在.class文件中的.那么为什么还要用new去构造它的实例呢,如果说new 构造的是A类的实例之后直接调用B类的话,那么new A.B("ff")当中的A为什么不加号呢?如new A().b("ff")
还请AWUSOFT(程序设计,一个字:爽!)帮我解释一下,谢谢你了
没有这样写的哦
上面的那个小a为类的实例.
我只用过在子类中的构造方法中用super()调用父类的构造函数,如果在子类的构造方法中加上:
对象.super()那么到底是表示什么呢?
那么它调用的是谁的构造方法呢?
别忘记了,所有类都直接或者间接继承Object....
呵呵嘻嘻....
class A
{
class B
{}
}
class C extends A.B
{
C(A a)
{
a.super();
}
public static void main(String args[])
{
A a=new A();
C c=new C(a);
}
}
我所说的a.super()就是指上面这个程序的a.super()我知道如果想继承一个内部静态类的时候,必须先实例化好它的外部类的实例,我们上面这个程序在main函数当中不是已经实例化好了A类的实例a了吗?为什么还要在C类的构造方法中再次调用a.super()呢?如果按照你说的那样a.super()应当是调用object类,请问,此时调用object类又有何意思呢?