1、什么是重写?用什么方法可以强制检测当前方法是否重写父类方法?
重写发生在父类和子类之间,子类的方法名和父类相同、参数列表也相同、返回类型也相同,当调用子类方法时,会优先调用子类重写方法。
2、构造方法能继承吗?子类继承父类,子类构造方法第一句应该如何书写?
构造方法不能继承。子类继承父类,子类构造方法第一句书写如下:super()。
3、final的用法?String可以继承吗?为什么?
Final可以用于修饰类、方法、变量,用于类表示该类不能被子类继承,用于方法表示方法不能被子类重写,用于变量表示变量的值不能改变。String不可以被继承,因为String申明为final,所以不能被继承。
程序练习有:
4、这里提供两个职位:
店长助理,工资3000,负责店内日常事务。
业务员,工资1000,还有提成工资,负责联系客户。
根据描述,使用继承方式实现代码。
package School;
public class Workers {
public int money;
public String name;
public Workers(String name,int money){
this.name = name;
this.money = money;
}
public void work(){
System.out.println("工作");
}
public String toString(){
return name+" 工资: "+money;
}
}
package School;
public class Shopkeeper extends Workers {
public Shopkeeper(){
super("店长助理",3000);
}
public void work(){
System.out.println("负责店内日常事务");
}
}
package School;
public class Salesman extends Workers {
public String fee;
public Salesman(){
super("业务员",1000);
this.fee="提成工资";
}
public void work(){
System.out.println("负责联系客户");
}
}
package School;
public class Test {
public static void main(String[] args) {
Shopkeeper a = new Shopkeeper();
System.out.println(a);
a.work();
Salesman b = new Salesman();
System.out.println(b+"+"+b.fee);
b.work();
}
}