学习Java之day09
1.面向对象的理解
一、理解"万事万物皆对象" 1.在Java语言范畴中,我们都将功能、结构封装到类中,通过类的实例化,来调用具体的功能结构 > Scanner,String等 > 文件:File > 网络资源:URL 2.涉及到Java语言与前端HTML、后端的数据库交互时,前后端的结构在Java中都表示为类、对象。
二、内存解析的说明: 1.引用类型的变量,只可能存储两类值:null 或者 地址值 三、匿名对象的使用: 1.理解:我们创建的对象,没有显式的赋给一个变量。就是匿名对象 2.特征:匿名对象只能调用一次。 3.使用:如下
public class InstanceTest {
public static void main(String[] args) {
Phone p = new Phone();
//p = null;
System.out.println(p);
p.sendEmail();
p.playGame();
//匿名对象
// new Phone().sendEmail();
// new Phone().playGame();
new Phone().price = 1999;
new Phone().showPrice();//0.0
//**********************************
PhoneMall mall = new PhoneMall();
// mall.show(p);
//匿名对象的使用
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 showPrice(){
System.out.println("手机价格为:" + price);
}
}
2.自定义数组的工具类
public class ArrayUtil {
// 求数组的最大值
public int getMaxValue(int[] data) {
if (data == null) {
return -1;
}
if (data.length - 1 == 0) {
return data[0];
}
int maxValue = data[0];
for (int i = 0; i < data.length; i++) {
if (maxValue <= data[i]) {
maxValue = data[i];
}
}
return maxValue;
}
// 求数组的最小值
public int getMinValue(int[] data) {
if (data == null) {
return -1;
}
if (data.length - 1 == 0) {
return data[0];
}
int minValue = data[0];
for (int i = 0; i < data.length; i++) {
if (minValue >= data[i]) {
minValue = data[i];
}
}
return minValue;
}
// 求数组的总和
public int getSum(int[] data) {
int sum = 0;
for (int i = 0; i < data.length; i++) {
sum += data[i];
}
return sum;
}
// 求数组平均数
public int getAvg(int[] data) {
return this.getSum(data) / data.length;
}
// 反转数组
public void reverse(int[] data) {
for (int i = 0; i < data.length / 2; i++) {
int temp = data[i];
data[i] = data[data.length - i - 1];
data[data.length - i - 1] =