javaSE自学09--类的单继承性

Java编程语言中允许用extends关键字从一个类扩展出一个新类,新类继承超类的成员变量和方法,并可以覆盖方法。
【例】测试类的单继承性。源程序代码如下:
//程序文件名TestExtend.java
public class TestExtend extends Employee
{
public static void main(String[] args)
{
System.out.println("覆盖的方法调用:" + getSalary("王一",500));
System.out.println("继承的方法调用:" + getSalary2("王一",500));
System.out.println("覆盖的方法调用:" + getSalary("王飞",10000));
System.out.println(“继承的方法调用:” + getSalary2("王飞",10000));
}
public static String getSalary(String name, int salary)
{
String str;
if (salary>5000)
str = "名字: " + name + " Salary: " + salary;
else
str = "名字: " + name + " Salary: 低于5000";
return str;
}
}
class Employee
{
public String name;//名字
public int salary;//薪水
public static String getSalary(String name, int salary)
{
String str;
str = "名字: " + name + " Salary: " + salary;
return str;
}
public static String getSalary2(String name, int salary)
{
String str;
str = "名字: " + name + " Salary: " + salary;
return str;
}
}
程序中定义了父类Employee类,它有两个方法getSalary和getSalary2,方法体的实现都是一致的,都为输出名字和薪水的值。在TextExtend主类中覆盖了getSalary方法,方法体重新定义为薪水低于5000时并不输出薪水的值而是输出“低于5000”,用于和继承的getSalary2方法进行比较。可以看出覆盖的方法按主程序中重定义的方法调用,而继承的方法直接调用父类中的方法。
