关于继承的一些其它问题:
1、synchronized关键字的继承:synchronized关键字不属于方法定义的一部分。父类
sy
nchronized方法子类会继承,但是默认不带有synchronized关键字,需要显式添加。接口方法不可以声明为
synchronized。构造方法不能用synchronized关键字,但是代码内部可以用
synchronized修饰代码块。
2、static关键字的继承问题:父类静态属性和静态方法以及非静态属性可以被继承和隐藏,不能被重写,所以不能实现多态。非静态方法可以被重写,所以实现了多态。隐藏的特性通过下面案例可以体现:
public class Father {
public String s = "Father";
public static String s1 = "FatherStatic";
}
public class Child extends Father{
public String s = "Child";//不是被重写,而是被隐藏,下同
public static String s1 = "ChildStatic";
}
public static void main(String[] args) throws Exception {
System.out.println(new Child().s);
System.out.println(new Child().s1);
Father father = new Child();
System.out.println(father.s);//结果为Father
System.out.println(father.s1);//结果为FatherStatic
}
ps:子类重写父类方法,不能让父类方法作用范围变小。