理解“万事万物皆对象”&匿名对象的使用&自定义数组的工具类

* 一,理解“万事万物皆对象”
 * 1.在Java语言范畴中,我们都将功能,结构等封装到类中,通过类的实例化,来调用具体的功          能结构
 *         >>Scanner,String等
 *         >>文件:File
 *         >>网络资源:URL
 * 2.涉及到Java语言与前端Html,后端的数据库交互时,前后端的结构在Java层面交互时,都               体现为类,对象。
 * 
 * 二,内存解析的说明
 * 1.引用类型的变量,只能存储两类值:null 或   地址值(包含变量的类型)
 * 
 * 三,匿名对象的使用
 * 1.理解:我们创建的对象,没有显式的赋给一个变量名。即为匿名对象

        //匿名对象(有对象,但没有名)
//        new Phone().sendEmail();//匿名对象直接调用sendEmail();
//        new Phone().playGame();//匿名对象直接调用playGame();

        //这两个匿名对象不是同一个对象
        

        new Phone().price=1999;
        new Phone().showPrice();//输出0.0

 * 2.特征:匿名对象只能调用一次

 * 3.使用:
        //匿名对象的使用
        mall.show(new Phone());
    }
class PhoneMall{

    public void showPrice() {
        System.out.println("手机价格为:"+price);
    }
}

四,自定义数组的工具类

//求数组的最大值
    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) {
        
        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;
        }
    }

    //复制数组
    public int[] copy(int[] arr) {
        int[] arr1=new int[arr.length];
        for(int i=0;i<arr1.length;i++) {
            arr1[i]=arr[i];
        }
        return arr1;
    }
    
  
 //数组排序
    public void sort(int[] arr) {
        for(int i=0;i<arr.length-1;i++) {
            for(int j=0;j<arr.length-1-i;j++) {
                if(arr[j]>arr[j+1]) {
//                int temp=arr[j];
//                arr[j]=arr[j+1];
//                arr[j+1]=temp;
             
   //错误的:
//                swap(arr[j],arr[j+1]);
             
   //正确的:
                swap(arr,j,j+1);
                }
            }
            
        }
    }
    
  
 //错误的:交换数组中指定两个位置元素的值
//    public void swap(int i,int j) {
//        int temp=i;
//        i=j;
//        j=temp;
//    }
  
 //正确的:交换数组中指定两个位置元素的值
    public void swap(int[] arr,int i,int j) {//i和j是索引
        int temp=arr[j];
        arr[i]=arr[j];
        arr[j]=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]) {
                return i;
            }
        }
        return -1;
//返回一个负数表示没有找到
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
从数据建模的角度来抽象汽车、车轮和奥迪,我们可以使用UML(统一建模语言)来表示。 首先,我们需要定义一个顶层的抽象或接口“对象”,它可以作为所有对象的基。然后可以创建一个子“汽车”,表示一个实际的汽车。汽车可以具有属性,例如品牌、型号、颜色等,可以使用的属性表示。此外,汽车可以有方法,例如启动、加速、停止等,可以使用的操作表示。 接下来,我们可以创建另一个子“车轮”,表示汽车所需的轮子。车轮也可以具有属性,例如材质、尺寸等,和方法,例如旋转、停止等。同时,车轮与汽车之间可能存在关联关系,因为一个汽车通常需要多个轮子,可以使用关联关系表示。 最后,我们可以创建一个具体子“奥迪”,表示一个奥迪汽车对象。奥迪继承自汽车,因此具有汽车的所有属性和方法。同时,奥迪可能还有一些特殊的属性或方法,例如型号细节、特殊功能等,可以在奥迪中定义。 通过使用UML的图表示法,我们可以清晰地展示这些对象及其之间的关系。在图中,可以使用箭头表示关联关系,使用实线表示继承关系。 总结起来,从数据建模的角度,我们可以通过使用UML的图来抽象汽车、车轮和奥迪。在图中,汽车、车轮和奥迪可以作为,具有属性和方法,它们之间可以通过关联关系进行连接。这种抽象方法可以帮助我们更好地理解和管理系统中的对象

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值