【Java面向对象】java学习之旅10-方法的一些特性

方法的重载

定义:多个方法,方法名相同,使用时根据参数列表的不同区分不同方法。

条件:

  • 发生在一个类中
  • 方法名相同
  • 参数列表不同(参数的个数、数据类型)
  • 与返回值类型、权限修饰符、方法体无关

例:

	public static void main(String[] args) {
		
		Demo03 demo03 = new Demo03();
		//System.out.println(demo03.plus(1, 2));
		
		//System.out.println(demo03.plus(1, 2, 3));
		
		demo03.plus(1.0, 2.0, 3.0);
		
		double[] array = {1,2,3,4,5,6};
		double result = demo03.plus(array);
		System.out.println(result);
	}
	
	public int plus(int a, int b) {
		return a + b;
	}
	
	public int plus(int a, int b, int c) {
		return a + b + c;
	}
	
	public double plus(double a, double b) {
		return a + b;
	}
	
	public double plus(double a, double b, double c) {
		System.out.println("111");
		return a + b + c;
	}
	
	//注意:可以传递独立的多个参数,也可以传递数组
	public double plus(double... a) {
		System.out.println("222");
		double sum = 0;
		for (double d : a) {
			sum += d;
		}
		return sum;
	}
	
	//注意:无法和可变参构成重载
//	public double plus(double[] a) {
//		double sum = 0;
//		for (double d : a) {
//			sum += d;
//		}
//		return sum;
//	}
构造方法

1.区别于普通方法

  • 普通方法方法名符合驼峰命名法,构造方法方法名必须和类名一致。
  • 构造方法没有返回值类型,也不能加void。

2.作用

  • 用于实例化对象并初始化赋值。
  • 写在new关键字的后面。

3.注意

  • 如果没有手动编写构造方法,默认提供一个无参构造方法。
  • 如果手动编写了有参构造方法,不会再提供无参构造方法。
  • 编程规范建议我们,手写无参和有参构造。
  • this关键字用于指向当前对象

例:

public class Dog {
	
	//1.private修饰的变量,只能在本类中使用
	//在外部无法随意修改变量值
	private String nickname;
	private String type;
	private char sex;
	private byte age;
	
	public Dog() {
		
	}

	public Dog(String nickname, String type, char sex, byte age) {
		//2.在有参构造内部做参数的合法校验
		this.nickname = nickname.equals("吴青山") ? "吴绿山" : nickname;
		this.type = type;
		this.sex = sex;
		this.age = age < 0 ? 0 : age;
	}
	
}   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JeffHan^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值