java 方法定义,方法重载,构造函数

今天来梳理一下java中的方法
方法定义
方法重载
构造函数

方法定义
定义:可以简单的理解为:一个模型的功能,一个对象的行为,一个function(函数)
方法分类“

1. 返回值为空void的方法

public void m1() {
		方法体
	}

2. 带具体返回类型的方法

//返回基本类型
int getAge() {
		return 18;
	}
boolean isPerson() {
		return false;
	}
	还有其他基本数据类型等

4 带参数的方法
基本数据类型

public static void main(String[] args) {

		int age=10;
		m4(age);
		System.out.println(age);
		
	}
	//研究传入的基本类型变量的特性
	static void m4(int age) {//对于基本类型来说,传入的变量会被copy-复制  一份
		age+=10;
		System.out.println(age);
	}
	
	//传任意基本类型的参数变量 和 任意的传入顺序
	void m3(boolean isPerson,int age,float account) {
		
	}
	//传任意基本类型的参数变量
	void m2(int age,boolean isPerson,float account) {
		
	}
	//传基本数据类型
	void m1(int age){
		
	}
	

类类型
当类类型作为方法参数时,它要的其实是一个具体的对象,所以要先创建一个对象,然后就这个对象传入这个方法里

public static void main(String[] args) {
		Equipments jb=new Equipments();//先创建一个具体的对象
		new EquipMent(jb);//将这个具体的对象传入这个方法里
	}
class EquipMent{
	
	public EquipMent(Equipments equipments) {
		System.out.println("我是自装备");
	}
}
class Equipments{
	
}

方法重载
定义:函数名相同,只要参数个数不同,参数顺序不同,则为不同的函数

void drink(Milk milk) {
		System.out.println("牛奶");
	}
	void drink(int i) {//1
		System.out.println("咪一口");
	}
	//先ao一下,在咪一口,在吸一口牛奶,最后滋溜一下
	void drink(Ao ao,int i,Milk milk,Object obj) {
		System.out.println("吸一口酒");
	}
	//先ao一下,在咪一口,在吸一口牛奶,最后滋溜一下
	void drink() {
		drink(null);//
		drink(1);
		drink(null,1,null,null);
	}
	//可变参数
	void drink(int... i) {//与(int[] i)相似
		System.out.println("1");
	}
	void drink(int[] as,int a) {
		System.out.println("2");
	}
	void drink(int a,int b,int c) {
		
	}


可变参数实际上就是可以自定义传入函数参数的个数,会自动封装一个数组来接受例如:
drink(1,1,1,1);==new int[]{1,1,1,1}
注意,可变参数不仅仅可以使用到基本数据类型,还可以用于对象类型

构造函数
定义:
方法名和类名一样(包括大小写)
没有返回类型
实例化一个对象的时候,必然调用构造方法

隐式的构造方法
Hero类的构造方法是

public Hero(){

}

这个无参的构造方法,如果不写,就会默认提供一个
如果提供了一个有参的构造方法
一旦提供了一个有参的构造方法
同时又没有显式的提供一个无参的构造方法
那么默认的无参的构造方法,就“木有了“

public Hero(){  
}
public Hero(int a){  //那么,上一个构造函数就失去了它的作用
}

构造函数与普通函数的区别:

(1). 一般函数是用于定义对象应该具备的功能。而构造函数定义的是,对象在调用功能之前,在建立时,应该具备的一些内容。也就是对象的初始化内容。

(2). 构造函数是在对象建立时由 jvm 调用, 给对象初始化。一般函数是对象建立后,当对象调用该功能时才会执行。

(3). 普通函数可以使用对象多次调用,构造函数就在创建对象时调用。

(4). 构造函数的函数名要与类名一样,而普通的函数只要符合标识符的命名规则即可。

(5). 构造函数没有返回值类型。
构造函数的方法重载

public static void main(String[] args) {
		new  EquipMent(1);
		new  EquipMent(1.1);
		new  EquipMent("dg");
		Equipments jb=new Equipments();
		new EquipMent(jb);
		//m1();
	}
}
//构造方法重载
class EquipMent{
	//装备等级
	public EquipMent(int grade) {
		System.out.println("我是装备等级");
	}
	//装备的价格
	public EquipMent(double price) {
		System.out.println("我是装备的价格");
	}
	//装备的功能
	public EquipMent(String function) {
		System.out.println("我是装备的功能");
	}
	//子装备
	public EquipMent(Equipments equipments) {
		System.out.println("我是自装备");
		//equipments.m2();
		//equipments.quipments();
	}
	public EquipMent(EquipMent equipMent) {
		// TODO Auto-generated constructor stub
	}		
}
//子装备类
class Equipments{
	
}

以上运行的结果为:

我是装备等级
我是装备的价格
我是装备的功能
我是自装备

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值