方法

方法用来实现类的行为。在JAVA中,方法定义在类中,它和类的成员属性一起构建一个完整的类。构成方法有四大要素。返回值、返回名称、参数、方法体。


操作原理

语法:

修饰符 返回值 返回名(参数列表)
{
//方法体
return 返回值
}

  • 修饰符: 定义了该方法的访问类型
  • 返回值类型 制定方法返回的数据类型
  • 方法名 方法名的命名遵循JAVA标识符的规范,但通常以英文中的动词开头
  • 参数列表 参数列表是由类型、标识符组成的序列,每对之间用逗号分开。参数实际上是方法被调用时接收传递过来的参数变量值。
  • 方法体 方法体中存放的是封装在{}内部的逻辑语句,用于完成一定的功能。

方法的使用

我通过一段代码来表示:

class Person {
String name;
int age;
void talk() //定义talk()方法,用于输出Person对象的name和age属性
{
System.out.println("我是:"+name+",今年:"+age+"岁");
}
void setName(String name){ //用于输出Person对象的name属性
this.name = name ;
}
void setAge(int age){ //用于输出Person对象的age属性
this.age = age;
}
}
public class PersonTest{
public static void main(String[] args){
Person p1 = new Person();
p1.setName("zouzou");
p1.setAge(22);
p1.talk();
}
}

输出结果

方法中的形参和实参

  • 1、形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。
  • 2、实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值。
  • 3、实参和形参在数量上,类型上、顺序上应严格一致,否则就会发生类型不匹配的错误。
  • 4、在一般传值调用的机制中只能把实参传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参值发生改变,而实参中的值不会变化。而在引用调用的机制当中是将实参引用的地址传递给了形参,所以任何发生在形参上的改变实际上也发生在实参变量上。

方法的重载

重载和重写的区别
(1)方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。
(2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具
有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型
来决定具体使用哪个方法, 这就是多态性。
(3) 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。
用一段代码示例:

public class OverloadValueOf {

public static void main(String[] args){
    byte num_byte = 12;
    short num_short = 34;
    int num_int = 12345;
    float num_float = 12.34f;
    boolean b_value = false;
    System.out.println("num_byte is" + String.valueOf(num_byte) );  //使用String类下的静态重载valueOf()方法,形参类型是byte型
    System.out.println("num_short is" + String.valueOf(num_short) );  
    System.out.println("num_int is" + String.valueOf(num_int) );
    System.out.println("num_float is" + String.valueOf(num_float) );
    System.out.println("b_value is" + String.valueOf(b_value) );
}

}


运行结果

自定义设计重载方法时,需注意以下几点:

  • 1、方法名称相同
  • 2、方法的参数列表相同(参数个数、参数类型、擦书顺序,至少要有一项是不同的)

方法的重写:

  • (1)父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某
    方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。
  • (2)若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,
    则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键 字引用了当前类的父类。
  • (3)子类函数的访问修饰权限不能少于父类的;

构造方法

在每一个类中定义的,并且是在使用关键在new实例化一个新对象的时候默认调用的方法。主要工作是对新创建的数据成员赋值。语法如下:

class 类名称
{
访问权限 类名称(类型1 参数1,类型2 参数2...) //构造方法
{
程序语句;
...//构造方法没有返回值
}
}

注意事项:

  • 1、构造方法的名称必须和其所属的类名称保持一致
  • 2、构造方法没有返回值,也不可以使用void
  • 3、构造方法也可以像普通方法一样被重载;
  • 4、构造方法不能被static和final修饰
  • 5、构造方法不能被继承,子类使用父类的构造方法要使用super关键字
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容