Java学习笔记-Day11 Java方法重载和构造方法
一、方法重载
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。
1、方法重载的条件
(1)在同一个类中。
(2)方法名相同。
(3)参数列表不同(参数列表的参数的类型、个数、顺序不同)。
① 参数个数不同。
② 参数个数相同,参数类型不同。
③ 参数个数相同,参数类型相同,但顺序不同。
2、方法重载的特点
(1) 与访问权限修饰符和返回值类型无关。
(2)与异常无关。
/**
* 方法重载
* @author Administrator
*
*/
public class Demo06 {
// 无参数
public void show() {
System.out.println("my name");
}
// 一个参数
public void show(String name) {
System.out.println("my name is "+name);
}
// 两个参数,第一个为String类型,第二个为int类型
public void show(String name,int age) {
System.out.println("my name is "+name+" ,my age is "+age);
}
// 两个参数,第一个为int类型,第二个为String类型
public void show(int age,String name) {
System.out.println("my age is "+age+" ,my name is "+name);
}
}
二、构造方法
构造方法是一种特殊的方法,它是一个与类同名的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。
1、构造方法的特点
(1)无返回值类型。
(2)方法名与类名完全一致。
2、构造方法的作用
完成新建对象的初始化。
3、默认的构造方法
(1)访问权限修饰符与类名的访问权限修饰符相同。
(2)没有参数。
(3)空方法体。
如果程序中没有显式定义任何构造方法,那么java将自动提供一个隐含的默认构造方法。
只要程序中已经显式定义了构造方法,那么java将不再提供隐含的默认构造方法。
4、构造方法的语法
根据有无参数,构造方法可分有 有参构造方法 和 无参构造方法。
有参构造的意义:new 同时给我们的对象的属性赋值,避免了对象属性为null 或者 默认值0的情况。
this关键字:代表当前类的对象。
进入并查看方法的代码:ctrl + 左键 或 选择方法,按F3。
/**
* 定义一个员工类,员工编号,姓名,部门,工资,部门经理,我们要求使用构造方法给属性进行赋值; 定义一个方法,输出员工的详细信息;
*
* @author Administrator
*
*/
public class Employee {
// 员工编号
String empNo;
// 姓名
String empName;
// 部门
String dept;
// 工资
double salary;
// 部门经理
String manager;
/**
* 带有参数的构造方法
* @param empNo 员工编号
* @param empName 姓名
* @param dept 部门
* @param salary 工资
* @param manager 部门经理
*/
public Employee(String empNo, String empName, String dept, double salary, String manager) {
this.empNo = empNo;
this.empName = empName;
this.dept = dept;
this.salary = salary;
this.manager = manager;
}
/**
* 没有参数的构造方法
*/
public Employee() {
// TODO Auto-generated constructor stub
}
}
创建的快捷方式:鼠标右键 -> source -> generate constructors using Fields…
5、构造方法的调用
6、注意
如果一个类的所有构造器均被私有化,那么这个类既不能被其它类实例化,也不能被其它类继承。