java面向对象编程---方法
二、方法
1、方法的重载
1.1 方法的签名
- 方法的唯一标识就是方法的签名:方法的名字和参数列表;
- 一个类中不能出现两个方法的签名完全一样的方法
1.2 方法的重载
- 方法名相同但参数列表不同称之为方法的重载。
public void show(){} //互相构成重载 public void show(int i) {}
1.3 访问重载方法
- 编译器在编译时会根据方法的起那么绑定调用不同的方法
2、构造方法
2.1 构造方法的语法结构
- 构造方法是类的成员之一----------特殊的方法,有如下两个规则:
- 方法名和类名相同;
- 没有返回值类型,且不写void
public class Person{ public Person(){ //构造方法 } }
2.2 通过构造方法初始化成员变量
- 构造方法的意义:初始化成员变量
- 当实例化一个对象时:new Person():实际上是执行了对应的构造方法
public class Person() { Public Person() { System.out.println("执行了无参构造方法"); } } public class Test{ public void static main(String[] args){ Person p = new Person();//执行了无参构造方法 } }
2.3 this关键字
- this关键字解决了构造方法参数名称的属性名称同名的问题;
public Person(String name,int age) { this.age = age; this.name = name;//this解决同名问题。增加代码可读性 }
- this关键字是谁?谁调用了this.属性或方法中的某个属性和方法,则this就调用谁
public Person(String name) { System.out.println("Person的无参构造方法"); this.name = name;//this.指Person对象。 }
2.4 默认的构造方法
- 一个类必须有构造方法,当类中没有定义时,编译器会提供一个默认的无参构造方法;
- 当我们显式的定义了任意一个构造方法时,系统将不会提供默认的无参构造方法。
public class Person { String name; int age; public Person(String name) {//类名相同 且无返回值类型--- 构造方法 System.out.println("Person的无参构造方法"); this.name = name;//区分同名的 } public void show () { System.out.println("show1"); } public void show (int i) { System.out.println("show2"); } public void show (double d) { System.out.println("show3"); } public void show (int i ,double d) { System.out.println("show4"); } public void Show (int i ,double d) { System.out.println("show5"); } } public class TestMethod { public static void main(String[] args) { Person p = new Person();//会报错,系统不会提供默认的构造方法 } }
2.5 构造方法的重载
- 类名相同,但参数列表不同的构造方法,我们称之为互相构成重载。
public Person(String name,int age) { this.name = name; this.age = age; } public Person(String name) {//类名相同 且无返回值类型--- 构造方法 System.out.println("Person的无参构造方法"); this.name = name;//区分同名的 }
本文来自博客园,作者:LXXXXxZz,转载请注明原文链接:https://www.cnblogs.com/l11111/p/16020346.html