最赞回答 / 倩与倩寻
子类对象向父类对象转换是:自动类型转换(向上类型转换)父类对象向子类对象转换是:强制类型转换 为了理解这两种类型转换,创建子类对象和父类对象时必须的,但创建的先后顺序无所谓。
2017-10-13
静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问.
所以在老师给的代码中如果要访问外部类的私有变量a,需要先在内部类中写
SOuter so=new Souter();
public void test() {
System.out.println("访问外部类中私有变量a:" + so.a );
所以在老师给的代码中如果要访问外部类的私有变量a,需要先在内部类中写
SOuter so=new Souter();
public void test() {
System.out.println("访问外部类中私有变量a:" + so.a );
2017-10-13
最新回答 / 越爱越强ffp
因为一个父类可能有很多子类,到底调用哪个子类的方法,有对象引用实际指向的对象来决定。如果以后程序要修改,那么只需要修改该对象引用指向的对象即可,其他代码不用做修改,便于程序维护,这也是多态引入的目的
2017-10-12
已采纳回答 / CHUNALAI
toString()方法是Object类中的,所有的类默认继承Object类,所以可以用toString()的方法,它怎么定义的在Object类中你没有看到而已
2017-10-12
最新回答 / qq_走夨旳背影_0
因为在测试调用时先实例化了父类,然后又实例化了子类,实例化父类时会调用构造方法打印,实例化子类时,又会先实例化父类然后才会实例化子类,所以又会打印一句<...图片...>
2017-10-11
public static void main(String[] args) {
HelloWorld o = new HelloWorld ();
Inner inn =o.new Inner();
inn.show();
}
HelloWorld o = new HelloWorld ();
Inner inn =o.new Inner();
inn.show();
}
2017-10-11
public class HelloWorld{
private String name = "imooc";
int age = 20;
public class Inner {
String name = "爱慕课";
public void show() {
System.out.println("" + HelloWorld.this.name);
System.out.println("" + name);
System.out.println("" + age);
}
}
}
private String name = "imooc";
int age = 20;
public class Inner {
String name = "爱慕课";
public void show() {
System.out.println("" + HelloWorld.this.name);
System.out.println("" + name);
System.out.println("" + age);
}
}
}
2017-10-11