方法重载(overload)

发布时间:2024年01月18日

重载overload

在同一个类中,一组同名”的方法,但参数不同(个数,类型,顺序)

这种方法名相同,但各自的参数不同的一组同名方法的定义,称为方法重载。

注意:方法重载的返回值类型通常都是相同的。方法重载的目的是,功能类似的方法使用同一名字,更容易记住,因此,调用起来更简单。

方法重载:在同一个类中,针对某功能的不同实现方法。要求方法的名称相同,但各自的参数不同(类型、个数、顺序)。构造方法可以重载。


方法重载发生在编译期。


重载方法的返回值类型可以不相同。


重载方法应该完成类似的功能,例如String 的 indexOf()substring()构造方法

package com.zttdemo10Book;
//图书类

public class Book {
	//成员变量
	private String bookName;
	private String publisher;
	private int pageSize;
	private double price;
	
	//重载overload
	//在同一个类中,一组同名”的方法,但参数不同(个数,类型,顺序)
	//构造方法的"重载overload""
	
	//构造方法
	public Book(){
		
	}
	
	public Book(int pageSize) {
		this.pageSize=pageSize;
		
	}
	
	public Book(String bookName,int pageSize) {
		this.bookName=bookName;
		this.pageSize=pageSize;
	}
	
	public Book(int pageSize,String publisher) {
		this.pageSize=pageSize;
		this.publisher=publisher;
	}
	
	//方法
	public String getBookName() {
		return bookName;
	}
	public void setBookName(String bookName) {
		this.bookName = bookName;
	}
	public String getPublisher() {
		return publisher;
	}
	public void setPublisher(String publisher) {
		this.publisher = publisher;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	
	

}

测试类:

package com.zttdemo10Book;

public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Book book1=new Book();
		Book book2=new Book(12345,"射雕英雄传");
		Book book3=new Book(1234,"人民出版社");
		
		

	}

}

运行结果:

?

package com.zttdemo10Book;

public class test2 {

	public static void main(String[] args) {
		
		//string字符串的不同创建方式(使用string类的不同构造方法)
		//无参构造方法:保存1个空字符串
		String s1 = new String();
		System.out.println(s1);
		
		//有参构造方法:通过传入1个byte[]字节数组,创建字符串
		byte[] byteArray = { 65,66,67,68,69 };
		String s2 = new String( byteArray ) ;
		System.out.println(s2);
		
		char[] charArray1 = { '山','舞','银','蛇'};
		String s3 = new String( charArray1);
		System.out.println(s3);
		
		char[] charArray2 = { '山','舞','银','蛇','原','驰','蜡','象'};
		String s4 = new String(charArray2,4,4);
		System.out.println(s4);
		}
		

	}

运行结果:


ABCDE
山舞银蛇
原驰蜡象
package com.zttdemo11sortUtils;
//排序工具类
public class SortUtils {
	//在同一个类中,一组同名”的方法,但参数不同(个数,类型,顺序)
	//普通方法的重载
	//不同数据类型的排序方法
	
	public void sort(int[] numbers) {
		for(int i=0,n=numbers.length;i<n-1;i++) {
			for(int k=0; k<n-1-i;k++) {
				if(numbers[k]>numbers[k+1]) {
					numbers[k]=numbers[k]^numbers[k+1];
					numbers[k+1]=numbers[k]^numbers[k+1];
					numbers[k]=numbers[k]^numbers[k+1];
					
				}
			}
		}
			
	
	}
	public void sort(String[] strS) {
		for(int i=0,n=strS.length;i<n-1;i++) {
			for(int k=0; k<n-1-i;k++) {
				if(strS[k].compareTo(strS[k+1])>0) {
					String temp=strS[k];
					strS[k]=strS[k+1];
					strS[k+1]=temp;
				}
			}
		}
	}
	
}

测试类:

package com.zttdemo11sortUtils;

import java.util.Arrays;

public class test1 {

	public static void main(String[] args) {
		SortUtils sort=new SortUtils();
		int[] ns= {4,5,6,9,8,7,45,23,56};
		sort.sort(ns);
		System.out.println(Arrays.toString(ns));
		
		String[] ss= {"a","p","o","g","i","b","c","d",};
		sort.sort(ss);
		System.out.println(Arrays.toString(ss));
		

	}

}

运行结果:

[4, 5, 6, 7, 8, 9, 23, 45, 56]
[a, b, c, d, g, i, o, p]

?

?

?

?

?

?

?

?

文章来源:https://blog.csdn.net/m0_68041576/article/details/135659090
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。