java面向对象 - 匿名对象

一、匿名对象

1. 创建的对象,没有显示的赋给一个变量名,即为匿名对象。
2. 匿名对象只能调用一次

二、匿名对象使用

class Phone {
    private int price;

    public void sendMail() {
        System.out.println("send your mail~");
    }
}

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

class PhoneTest {
    public static void main(String[] args) {
        PhoneMall mall = new PhoneMall();
        mall.show(new Phone());
    }

}

三、数组工具类

1. Arrayutils

public class ArrayUtils {
    //求最大值
    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 total = 0;
        for (int i = 0; i < arr.length; i++) {
            total += arr[i];
        }
        return total;
    }

    //求平均值
    public int getAvg(int[] arr) {
        int total = getSum(arr);
        int avge = total / arr.length;
        return avge;

    }

    //翻转数组
    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[] arrTemp = new int[arr.length];
        for (int i = 0; i < arr.length; i++) {
            arrTemp[i] = arr[i];
        }
        return arrTemp;
    }

    //数组排序
    public int[] sort(int[] arr) {
        return null;
    }

    //遍历数组
    public void print(int[] arr) {

    }

    //查找元素
    public int getIndex(int[] arr, int dest) {
        for (int i = 0; i < arr.length; i++) {
            if (dest == arr[i]) {
                return i;
            }
        }
        return -1;
    }
}

2. ArrayTest

public class ArrayTest {
    public static void main(String[] args) {
        ArrayUtils util = new ArrayUtils();
        int[] arr = new int[]{10, 23, 19, 18, -14, 93, 82, 93, 5};
        int max = util.getMax(arr);
        int total = util.getSum(arr);
        int avg = util.getAvg(arr);
        //util.reverse(arr);
        int[] arr1 = util.copy(arr);
        int cell = util.getIndex(arr, 115);
        System.out.println(cell);
    }
}

原文地址:https://www.cnblogs.com/hq82/p/12080261.html

时间: 2024-10-05 23:41:46

java面向对象 - 匿名对象的相关文章

面向对象(匿名对象的使用)

讲个小知识点,匿名对象,匿名就是没有名字,不起名字是对象的简写格式,有自己的应用场景,也有自己的弊端. new Car().num = 5;一执行完就垃圾了 new Car().color = "blue";一执行完就垃圾了 new Car().run();//匿名对象调用方法有意义,里面有内容,而调用属性 Car c = new Car(); c.run(); new Car().run(); Car c = new Car(); c.run(); c.num = 4; new Ca

java中匿名对象的使用

匿名对象 就是没有名字的对象 格式: new 类名(); 有名字的对象:类名 对象名 = new 类名() ; 匿名对象应用场景: 1)实际开发中,仅使用一次即可! 匿名对象直接在堆内存开辟空间,使用完毕,立即从内存中释放调用 2)使用匿名对象的时候,可以链式编程(开发中不建议使用这种方式) new 类名1().方法名1(new 类名2()) ; 举例: class Student{ public void study(){ System.out.println("study...")

Java面向对象----String对象的声明和创建

String a="abcd"  相等  String b="abcd" String a=new String("abcd")   不等于  String  b=new String("abcd")     字符串池内存地址不同 对象不可变  常量 "abcd"+"a"   拼接 等于新创建了对象  abcda 面向对象的优点 便于程序模拟现实世界中的实体 隐藏细节 可重用 java对

Java面向对象_对象内存分析—值传递和引用传递

对象内存分析,我一直学的比较模糊,今天抽空整理一下,希望能理清. 先说一下,内存分析从何而来,这对于我们这些刚接触java的人来说都比较模糊,就从new关键字说起吧. new关键字表示创建一个对象或者说是实例化对象或者说是申请内存空间,所有程序运行都需要内存来存储数据,这样内存的概念就出来了.举个例子说明:定义一个类Person,属性:char a;int sge;那么创建一个对象申请的内存空间就是所有属性所占字节之和,为6个字节. 详细理一下对象在内存中的结构: Person p=new Pe

Java面向对象_对象数组

今天学习了对象数组,写点东西总结一下.废话不多说,啥是对象数组呢? 对象数组的概念是这么讲的,对象数组就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组. 举个例子,使用对象数组实现多个Hero的管理 1 import java.util.Arrays; 2 import java.util.Scanner; 3 4 public class Test4 { 5 6 /** 7 * @param args 8 */ 9 public static void main(St

127、Java面向对象之对象的比较

01.代码如下: package TIANPAN; class Book { private String title; private double price; public Book(String title, double price) { this.title = title; this.price = price; } public String getTitle() { return this.title; } public double getPrice() { return t

JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块

JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买电脑来说吧,首先,你不懂电脑,你去电脑城买电脑,和大象装冰箱里一样,是什么步骤?咨询 砍价 ,谈妥了就那电脑走人,对吧,这就是面向过程的思想,而面向对象是:你有一个哥们,他懂电脑,什么都会,你只要带他去,就行,你这个哥们就是对象,在JAVA中,我们就是操作一个对象去完成各种各样的操作的,这就是面向对

java匿名对象_面向对象

class Student{ public void tell(){ System.out.println("Hello jikexueyuan"); } public void main{ Student stu=new Student(); stu.tell(); //匿名对象可以直接new 但是只能使用一次 new Student.tell(); } }

Java——面向对象进阶(final关键字,static关键字,匿名对象,内部类,包的声明与访问,四种访问修饰符,代码块)

一.final关键字 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,那怎么解决呢? 要解决上述的这些问题,需要使用到一个关键字final,final的意思为最终,不可变.final是个修饰符,它可以用来修饰类,类的成员,以及局部变量. 1.修饰类 被final修饰的类不可以被继承,但是可以继承其他类. class Yy {} final cl