java_DAY07:面向对象:方法
1:方法的定义
方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果
方法定义类的某种行为(或功能), 是功能的实现
记忆:
方法五要素:修饰符,返回值类型,方法名,参数列表,方法体。
public void show(){ System.out.println("姓名"+name); }
方法中返回值介绍:
如果方法有返回值,方法中必须使用关键字return返回某个值,返回值类型为该值的类型,且返回值只能有一个。
return的作用:结束方法,返回结果。
注意:当调用有返回值的方法时,需要定义一个变量接受
如果方法没有返回值,返回值类型为void
有返回值:
public String getname(){ return name; }
无返回值:
public void show(){ System.out.println("姓名:" + name ); }
2:方法的调用
问:如何调用一个类的方法?
明确:你要调用哪个类的哪个方法?
1:创建这个类的对象
2:对象名.方法名();
3:方法间的调用
|
|||||||
2:方法的参数
方法五要素:修饰符,返回值类型,方法名,参数列表,方法体。
无参方法:
访问修饰符 返回类型 方法名() { //方法的主体 } public void show(){ System.out.println("姓名:" + name + ",年龄:" + age); }
定义带参数的方法:
访问修饰符 返回类型 方法名(<形式参数列表>) { //方法的主体 }
调用带参数的方法:
对象名.方法名(参数1, 参数2,……,参数n)
有参方法的调用:
调用有参方法时,必须要传递对应类型的参数,否则报错。
3:构造方法
/学生类 public class Student { //属性 String name; int age; String sex; //系统默认的无参构造方法,写和不写他都是存在的 public Student() { } //有参构造方法,创建对象的时候就已经给了初始值了 public Student(String name, int age, String sex) { this.name = name; this.age = age; this.sex = sex; } }
作用:创建对象,初始化对象
特点:
1、无参构造方法,与类同名,不含返回类型。如果类中没有显示的构造方法,系统会给出默认的无参构造方法。
2、构造方法一般都是public的,才能被系统调用。
3、无参构造在给对象属性赋值时比较麻烦,可以定义有参的构造方法。
当成员变量(属性)和方法参数同名时,一般使用this表示当前对象,如:this.name = name;
4、构造方法经常用于程序初始化工作,例如:人出生要“洗澡”,就可以在人的构造方法时加入完成“洗澡”的程序代码,程序就不必每个人出时一个一个地告诉他们要“洗澡”了。
5、当类有了带参构造方法之后,系统不再自动生成默认的无参构造方法,若使用需重新定义
要求:如果一个类中有带参数的构造方法时,必须要定义无参的构造方法
6、构造方法只能用于创建对象时,不能在程序中像调用其他方法一样调用它,但是可以用this()的形式在其他构造方法中调用它,注意this()必须在第一行。
构造方法和普通方法的区别:
构造方法访问修饰符一般是public, 一般方法根据实际情况选择修饰符
构造方法没有返回值类型,一般方法要么无返回值-void,要么有返回值
方法名与类同名,一般方法见名思意,遵循驼峰命名规则
构造方法的方法体是对象的初始化代码,一般方法是功能的实现
调用方式不一致,普通方法需要使用对象来调用,构造方法是new, this, super
4:方法重载:overload
为什么会有方法的重载?
在同一个类中有一些方法的功能相同,仅仅是参数列表不一样,此时如果去定义不同的方法名很麻烦。
于是规定,方法名可以一样,但是参数列表必须不一样。所以就有了方法的重载。
方法重载的判断标准:同类同名不同参,与其他无关。(不同参:不同的参数列表:个数不同,类型不同,顺序不同)
如:构造方法,Arrays的很多方法都是重载的。