Java面向对象_06 方法的定义和调用、方法重载

方法的定义

方法是类或对象的行为特征的抽象。Java中的方法不能独立存在,必须定义在类体中,这也是Java是面向对象语言的的重要原因。

语法格式:
权限修饰符 返回值类型 方法名(参数类型 参数名){ 方法体 (返回值) }

方法定义的先后顺序无所谓;
方法定义不能产生嵌套包含关系;
方法定义中的返回值与传递的参数类型均为Java中定义的数据类型;
在方法中可以进行返回数据的处理,格式:
return 返回数据类型
void 不返回数据类型

public class Person {
	/**
	 * 权限修饰符 返回值类型 方法名(参数类型 参数名){ 方法体 (返回值) }
	 */
	public void eat(String food) {
		System.out.println("吃" + food);
	}

	/**
	 * return 返回数据类型 方法定义中的返回值与传递的参数类型均为Java中定义的数据类型
	 * 
	 * @param food
	 * @return
	 */
	public String eat2(String food) {
		return "吃" + food;
	}

	/**
	 * 方法定义不能产生嵌套包含关系 即方法中不能定义方法 函数的定义都是相互平行、相互独立的
	 */
//	void defineOuter() {
//		void defineInner();
//	}
}

方法的调用

方法虽然定义了,但不会自己执行,如果想要执行,应进行方法调用。
方法调用格式:
本类中: 方法名(参数值列表);
外部类:调用类的对象 . 方法名(参数值列表);

	public void invoke() {
		System.out.println("方法被调用了");
	}
	
	public void test() {
		invoke(); //本类中调用
	}
public class Test {
	public static void main(String[] args) {
		Person person = new Person();
		person.invoke(); //外部类调用
	}
}

构造函数和普通方法的区别

名称具体区别
函数名构造函数是没有返回值类型的;普通函数是有返回值类型的,即使函数没有返回值,返回类型也要写上void
返回值类型构造函数的函数名必须要与类名一致;普通函数的函数名只要符合标识符的命名规则即可
调用方式构造函数是在创建对象的时候由jvm调用的;普通函数是由我们创建对象调用的
作用构造函数的作用用于初始化一个对象;普通函数是用于描述一类事物的公共行为

方法重载

一个类中多个方法名称相同,参数列表不同,具体表现在参数的类型、顺序、个数不同;与返回值类型和修饰符无关。

	/**
	 * 方法重载
	 * 
	 * @param food
	 */
	public void eat() {// 没有参数
		System.out.println("吃饭了");
	}

	public void eat(String food) {
		System.out.println("吃" + food);
	}

	public void eat(double price) {// 参数类型不同
		System.out.println("吃了" + price + "块钱的食物");
	}

	public void eat(String food, int num) {// 参数个数不同
		System.out.println("吃" + num + "个" + food);
	}

	public void eat(int num, String food) {// 参数顺序不同
		System.out.println("吃" + num + "个" + food);
	}

//	private void eat() {// 与修饰符无关
//
//	}
//
//	public String eat() {// 与返回类型无关
//		return "eat";
//	}

重载方法是早期绑定完成,当调用一个重载的方法,在编译时根据参数列表就可以确定方法。
早期绑定就是被调用的目标如果在编译期可知,且运行期保持不变,即可将这个方法与所属的类型进行绑定。也就是说在编译时就知道了方法是哪个类中的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值