java内部类的继承

Python016

java内部类的继承,第1张

其实,java中所有的类都继承Object这个类。car.super()这几句话在这里没有用。

如果解释的话,是这样的:car.spuer()是car继承Object的方法,在car中构造方法没有写出super()方法,但是java默认car使用super()方法;

注意使用范围,如果是缺省内部类,只能在包内使用使用,如果是public或者是protected则可以在任何子类内使用内部类,如果是public static,则内部类上升为外部类。如果仅仅只是static则内部类上升为包内范围的外部类。

如果你people的内部类run,是以非缺省的形式存在那么你都可以在起子类student中使用,如果是缺省修饰,那意味着只能在包内的子类中使用。建议使用protected修饰。

public class People{

protected class Run{

}

}

如果是这样写,那只要是people类的子类都可以继承或者使用run这个内部类。推荐这样写,这样有良好的封装性。不要使用public除非是要让内部类上升到外部类,才有必要public static一起写,如果单纯的public表面上看是公有了,而实际功能上他和protected是一样的,无法真正的公有,只能在子类内使用,破坏了public关键字本来的封装性。

”只能实现一个接口但可以继承n个类,子类比较好“,回去看看书。 4楼说的 正确,java类只能继承1个父类 但是可以实现多个接口。

但是接口是公开的,里面不能有私有的方法或变量

是用于让别人使用的

实现接口的一定要实现接口里定义的所有方法。这就是类。

所以只有子类继承父类才是实现多继承。