JAVA基础课程(第七天)

JAVA基础课程

第七天

面向对象
理解“世间万物皆对象”

​ (1)在Java语言范畴中,我们将功能,结构都封装到类里,通过类的实例化来调用具体功能

​ (2)与前端,数据库交互都体现为体现为类、对象

匿名对象

​ (1)我们创建的对象,没有显式的赋给一个变量名。即为匿名对象

​ (2)匿名对象只能调用一次

方法重载

​ (overload)

​ (1)在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可

​ (2)两同一不同:同一个类,相同的方法名。参数列表不同,参数个数不同,参数类型不同

​ (3)与方法的权限修饰符,返回类型,形参变量名,方法体都没有关系。

​ (4)在通过对象调用方法时,根据参数的不同,去确定调用那个方法

方法重载代码练习
定义三个重载方法max(),第一个求两个int的大小,第二个求两个double大小,第三个求三个double大小,并调用三个方法
package com.test.course;

/**
 * 方法重载
 * @author PitterWang
 * @create 2020/4/24
 * @since 1.0.0
 */
public class OverloadTest {

	public static void main(String[] args) {
		OverloadTest overloadTest = new OverloadTest();
		int i = 3;
		int j = 5;
		double x = 3d;
		double y = 2d;
		double z = 5d;
		System.out.println(overloadTest.max(3,5));
		System.out.println(overloadTest.max(x,y));
		System.out.println(overloadTest.max(x,y,z));

	}

	public int max(int i,int j){
		if(i > j){
			return i;
		}else{
			return j;
		}
	}

	public double max(double i,double j){
		if(i > j){
			return i;
		}else{
			return j;
		}
	}

	public double max(double i,double j,double z){
		if(i > j){
			return i > z? i : z;
		}else{
			return j > z? i : z;
		}
	}
}
可变形参

​ JavaSE5.0中提供Vararge(variable number of arguments)机制,允许之间定义能和多个实参匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参

5.0之前:用数组形参来定义方法,传入多个同一类型变量

publie void test(int i;String[] name);

5.0之后:用可变个数形参来定义方法,传入多个同一类型变量

publie void test(int i;String ... name);

注意点

(1)可变形参格式: 数据类型

(2)当调用可变形参时,传入的个数个数是0个以上。

(3)可变形参的方法与本类的其他方法也可以构成重载,但是与其他方法形参类型相同的数组之间不构成重载

(4)在方法的形参中,只能什么一个可变形参

可变形参代码练习
package com.test.course;

/**
 * 〈可变参数练习〉
 *
 * @author PitterWang
 * @create 2020/4/24
 * @since 1.0.0
 */
public class VariableTest {

	public static void main(String[] args) {

		VariableTest variableTest = new VariableTest();
		variableTest.getContent("A","B");
		variableTest.getContent(new String[]{"A","B","C"});
		variableTest.getContent("pitterwang",new String[]{"A","B","C"});

	}

	public void getContent(String name1,String name2){

		System.out.println(name1 + name2);
	}
	public void getContent(String ... name){

		for(String n : name){
			System.out.println(n);
		}
	}
	public void getContent(String username,String ... name){
		System.out.println(username);
		for(String n : name){
			System.out.println(n);
		}
	}

}
方法值传递机制

(1)形参,方法定义时,声明的小括号内的参数。实参,方法调用时,实际传递给形参的数据

(2)传递机制

​ 如果参数时基本数据类型,此时实参赋给形参的时真实存储的数据值

​ 如果参数时引用数据类型,此时实参赋值给形参的时实参存储数据的地址值

方法值传递机制练习
package com.test.course;

/**
 * 〈值传递测试〉
 *
 * @author PitterWang
 * @create 2020/4/24
 * @since 1.0.0
 */
public class TransmitTest {

	public static void main(String[] args) {
		TransmitTest transmitTest = new TransmitTest();
		int a = 1;
		int b = 2;
		System.out.println(a);
		System.out.println(b);
		System.out.println("前---------------------");
		transmitTest.getIntNubmer(a,b);
		System.out.println("后---------------------");
		System.out.println(a);
		System.out.println(b);


		Student student = new Student();
		student.id = 10;
		student.status = 1;
		student.score = 100;
		System.out.println(student.toString());
		System.out.println("前---------------------");

		transmitTest.getStudent(student);

		System.out.println("后---------------------");
		System.out.println(student.toString());
	}
	/**
	 * 基本数据类型传递
	 */
	public void getIntNubmer(int a,int b){

		a = 12;
		b = 13;
		System.out.println(a);
		System.out.println(b);
	}
	/***
	 * 引用数据类型传递
	 */
	public void getStudent(Student student){
		student.id = 1;
		student.score = 90;
		student.status = 2;
		System.out.println(student.toString());
	}
}
方法值传递机制练习的内存解释图 以后画哈哈啊哈哈

在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值