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方法进行比较。可以看出覆盖的方法按主程序中重定义的方法调用,而继承的方法直接调用父类中的方法。

 
 
 
 

0 个评论

要回复文章请先登录注册

Template error, template file not found