7、类的继承与权限控制
JAVA用关键字extends来实现继承机制
通过继承子类拥有了父类的所有成员(成员变量和方法)
JAVA只允许单继承,不允许多重继承
一个子类只能有一个基类,一个基类可以派生出多个子类
JAVA继承的权限控制,基类如果是私有的,那么子类可以继承却不能够使用
类的内部 同一个包 子类 任何地方
private 可以
default 可以 可以
pretected 可以 可以 可以
public 可以 可以 可以 可以
8、继承中的构造方法
SUPER
JAVA类中用super来引用基类的成分
子类的构造过程中必须要调用基类的构造方法
子类可以在自己的类中使用super来调用基类的构造方法
使用this来调用本类的其它构造方法
要调用super必须要写在子类构造方法的第一行
若子类中没有显示调用基类的构造方法,那么系统将默认调用基类的无参构造方法
若子类中既没有显示调用基类的构造方法,而基类又没有无参构造方法,则编译报错。
9、方法的重写
子类可以根据需要对从基类继承的方法进行重写
重写和被重写的方法必须具有相同的方法名称,参数列表和返回值类型
重写方法不能具有比被重写方法更严格的访问权限
10、Object类
object类是所有java的根基类
如果在类的声明中未使用extends关键字指明根基类,则默认为object类
- toString方法
Object类中定义有public String toString()方法,其返回值是String类型,描述当前对象的有关信息
在进行String与其它数据类型连接时,如(system.out.print("info"+person )),
将自动调用toString方法
可以根据需要在用户自定义类型中重写toString方法
- equals方法
定义为:x.equals (y),当X和Y是同一对象的应用时返回true或者是false
当X和Y是同一对象且属性内容相同时(并不一定是同一对象)返回true或者是false
可以根据需要在用户自定义类型中重写equals方法
11、抽象类和抽象方法
用abstract修饰的类就叫抽象类
用abstract修饰的方法就叫抽象方法
含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写
抽象类不能被实例化
抽象方法只需声明不需要实现