Java继承类
1)、继承的关键字是:extends;
格式是:
public class 类名(子类) extends 类名(父类) {
}
在Java中一个子类只能直接继承一个父类。(object类是所有类的父类)
2)、访问权限:
尽管子类能继承到父类的所有的属性和所有的普通方法,但对于父类的私有属性是无法直接访问的,需要使用get|set方法进行调用或赋值,对于所有的非私有操作属于显式继承,可以直接利用对象操作,而所有的私有操作属于隐式继承(间接完成))。
在继承关系之中,如果要实例化子类对象,会默认先调用父类构造,为父类之中的属性初始化,之后再调用子类构造,为子类之中的属性初始化,默认情况下,子类会找到父类之中的无参构造方法。(如需调用父类的其他构造方法,需使用super)。
例如:
public class father {
public father(){
System.out.println("我是我儿子的爹");
}
public void eat(){
System.out.println("今天去了女同事家吃饭");
}
}
public class Son extends father {
public Son(){
System.out.println("我是我爹的儿子");
}
public void wan(){
System.out.println("今天和老爸女同事家的女儿去玩");
}
}
public class SAFTest {
public static void main(String[] args) {
Son son = new Son();
son.wan();
}
}
最后输出的顺序为:
我是我儿子的爹
我是我爹的儿子
今天和老爸女同事家的女儿去玩
3)、子类方法的重写:
之前我们学了方法的重载,那么重载和重写有什么区别呢?
重载,就是方法有相同的名称,但是参数列表不相同,这样的同名不同参数的方法之间,称之为方法的重载。
重写,是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。
即外壳不变,核心重写!