方法重载(overloading):编译时多态。 在一个类的内部,方法名相同形参数不同的方法,对返回类型不要求,这种现象称之为重载; 编译器会自动选择使用的方法。体现了一个编译时多态。 好处:对使用者屏蔽因为参数不同造成方法间的差异。 找方法时如果没有合适的,采取自动向上扩展原则。 调用时形参之间的区别一定要明确。 1. 形参的个数不同 2. 形参的类型不同 3. 形参的顺序不同 4. 形参的名字相同 方法覆盖(override):运行时多态。 1,发生在父类和子类之间 2,方法名相同,参数相同,返回类型相同 3,子类方法的访问权限不能更严格,只能等于或更加宽松。 构造方法: 1,没有返回类型,方法名必须和类同名。 2,构造方法不能手动调用,它只用在创建对象在时候,只出现在new之后。 只要构造方法被调用运行,就一定有对象产生。 3,在一个对象的生命周期里,构造方法只能被调用一次。 4,类写好后一定有构造方法, 如果程序没有显示的提供构造方法,JVM会提供一个默认的构造方法,public classname(){} 如果程序显示提供,系统不再提供默认的 5,同一个类的多个构造方法一定重载。 6,创建对象的同时构造方法的代码块里还可以写需要运行的代码,还可以给属性(实例变量)赋值, 引用类型的属性赋值就是用new创建对象,然后调用构造方法。如:Student stu=new Student();
|