Java方法重载和继承

1. 一个类如果要继承另一个类,如果另一个类有构造函数,那么当前类必须要实现一个调用父类的构造函数super(参数,,,)如果父类的构造函数是私有的那么就没有办法继承该父类

2. 静态方法不能被覆盖

v静态方法在编译时根据调用该方法的类或对象所属的类决定

v实例方法在运行时根据对象所属的类决定

一个类中有多个同名的方法

如:Math类中的min()方法

条件(满足其一):

l参数的个数不同

l参数的类型不同

如果两个方法仅返回值不同,不是重载,会报错

super.方法名([参数表]);

——调用父类的方法

super.成员变量名

——访问父类的成员变量

super([参数表]);

——调用父类的构造函数

功能类似于this

注意事项:调用父类的构造函数

子类从父类继承所有方法和变量;

子类不能实现父类的构造函数

有两种方法获得构造函数:

1.使用默认构造函数 2.编写一个或多个构造函数

要调用父类的构造函数,必须在之类构造函数的第一行使用super关键字

要调用特定的父类构造函数,必须为super提供参数

如果没有调用,编译器会插入一个父类无参数构造函数的隐含调用;因为子类的实现,需要先实现父类执行构造函数,所以必须实现一个构造方法,包含父类构造方法的调用

class Employee{

private String name;

private double salary;

public Employee(String n,double s){ name=n;salary=s; }

public Employee(String n){ name=n; }

}

class Manager extends Employee{

private String department;

public Manager(String name,double salary,String dept)

{ super(name,salary);

department=dept;

}

public Manager(String name,String dept)

{ super(name);

department=dept;

}

public Manager(String dept)

{ department=dept;

}

}