第二章:面向对象:万事万物皆对象的说明、内存解析说明、匿名对象

  • Post author:
  • Post category:其他
package com.atguigu.java;

/*
 * 一、万事万物皆对象的的理解:
 * 1,在java语言范畴中:我们都将功能、结构等封装到类中,通过类的实例化,来调用具体的功能结构。
 * 		>Scanner\String
 * 		>文件:File
 * 		>网络资源:URL
 * 2.涉及到Java语言和前端HTML、后端的数据库交互时,都体现为类、对象。
 * 
 * 二、内存解析说明
 * 1.引用类型变量:只可能储存两类值,null或者地址值(包含变量类型)
 * 
 * 三、匿名对象
 * 1.理解:我们创建的对象没有显式的赋值给一个变量名,即为匿名对象。
 * 2.特征:匿名对象只能调用一次
 * 3.
 * 
 */
public class InstanceTest {
	public static void main(String[] args) {
		Phone p1 = new Phone();
		System.out.println(p1);
		p1.sendEmail();
		p1.playGame();
		// 匿名对象
//		new Phone().sendEmail();
//		new Phone().playGame();
		
		PhoneMall mall = new PhoneMall();
		mall.show(new Phone());
	}
}

class PhoneMall {
	public void show(Phone phone) {
		phone.sendEmail();
		phone.playGame();
	}
}

class Phone {
	double price;

	public void sendEmail() {
		System.out.println("发送邮件");
	}

	public void playGame() {
		System.out.println("玩游戏");
	}

	public void printPrice() {
		System.out.println("价格" + price);
	}
}
package com.atguigu.java;

/*
 * 自定义数组的工具类
 */
public class ArraysUtil {
	// 求数组的最大值
	public int getMax(int[] arr) {
		int maxValue = arr[0];
		for (int i = 0; i < arr.length; i++) {
			if (maxValue < arr[i]) {
				maxValue = arr[i];
			}
		}
		return maxValue;
	}

	// 求数组的最小值
	public int getMin(int[] arr) {
		int minValue = arr[0];
		for (int i = 0; i < arr.length; i++) {
			if (minValue > arr[i]) {
				minValue = arr[i];
			}
		}
		return minValue;
	}

	// 求数组的和
	public int getSum(int[] arr) {
		int sum = 0;
		for (int i = 0; i < arr.length; i++) {
			sum += arr[i];
		}
		return sum;
	}

	// 求数组的平均值
	public int getAvg(int[] arr) {
		// ArraysUtil arrays = new ArraysUtil();
		// return arrays.getSum(arr) / arr.length;
		return getSum(arr) / arr.length;
	}

	// 反转数组
	public void reverse(int[] arr) {
		for (int i = 0; i < arr.length / 2; i++) {
//			int temp = arr[i];
//			arr[i] = arr[arr.length - i - 1];
//			arr[arr.length - i - 1] = temp;
			swap(arr,i,i + 1);//没有static可以直接调用方法
		}
	}
	public void swap(int[] arr,int i,int j){
		int temp = arr[i];
		arr[i] = arr[j];
		arr[j] = temp;		
	}

	// 复制数组
	public int[] copy(int[] arr) {

		return null;
	}

	// 数组排序
	public void sort(int[] arr) {
		for (int i = 0; i < arr.length - 1; i++) {
			for (int j = 0; j < arr.length - i - 1; j++) {
				if (arr[j] < arr[j + 1]) {
					int temp = arr[j];
					arr[j] = arr[j + 1];
					arr[j + 1] = temp;
				}
			}
		}
	}

	// 遍历数组
	public void print(int[] arr) {
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + "\t");
		}
	}

	// 查找指定元素
	public int getIndex(int[] arr, int dest) {
		for (int i = 0; i < arr.length; i++) {
			if (dest == arr[i]) {
				System.out.println("找到了索引地址是:");
				return i;
			}
		}
		return -1;
	}
}
package com.atguigu.java;

public class UtilTest {
	public static void main(String[] args) {
		ArraysUtil util = new ArraysUtil();
		int[] arr = new int[] { 3, 5, 4,3,4,23,4 };
		int max = util.getMax(arr);
		System.out.println("最大值:" + max);
		System.out.println("排序前:");
		util.print(arr);
		System.out.println();
		System.out.println("排序后:");
		util.sort(arr);
		util.print(arr);
		System.out.println();
		System.out.println("总和:");
		System.out.println(util.getSum(arr));
		System.out.println("平均值:");
		System.out.println(util.getAvg(arr));
		System.out.println("查找:");
		int result = util.getIndex(arr, 5);
		System.out.println(result);
	}
}


版权声明:本文为m0_63104578原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。