首页 > 技术文章 > 面向对象之类与对象

yicurtain 2021-05-16 16:17 原文

面向对象 类与对象

类是一种抽象的数据类型,它是对某一类事务整体描述/定义,但是并不能代表一个具体的事务。

  • 动物、植物、手机、电脑……
  • Person类,Pet类、Car类等,这些类都是用来描述/定义某一类具体的事务应该具备的特点和行为

对象

对象是抽象概念的具体实例

  • 张三就是人的一个具体事例,张三家里的旺财就是狗的一个具体事例。
  • 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。

创建类的对象

创建类的对象=类的实例化

创建person类的对象

Person p1=new Person();

类和对象的使用

  1. 创建类,设计类的成员
  2. 创建类的对象
  3. 通过“对象.属性”或“对象.方法”调用对象的结构

理解“万事万物皆对象”

  1. 在java语言范畴中,我们都将功能、结构等封装到类中。通过类的实例化,来调用具体的功能结构。
  2. 涉及到java语言与前端Html、后端的数据库交互时,前后端的结构在java层面交互时,都体现为类、对象。

类与对象练习

package com.yicurtain.Object;

import java.util.Arrays;

public class Practice {
    public static void main(String[] args) {
        int[] a= new int[]{5,1,2,4,6};
        Arrayutil arrayutil = new Arrayutil();
        arrayutil.Max(a);
        System.out.println("这个数组的最大值为:"+arrayutil.Max(a));
        arrayutil.Sum(a);
        System.out.println("这个数组的最和为:"+arrayutil.Sum(a));
        arrayutil.sort1(a);
        System.out.println("冒泡排序的结果为:"+ Arrays.toString(arrayutil.sort1(a)));
    }
}



class Arrayutil{

    //求一个数组的最大值
    public int Max(int[] a){
        int Maxvalue=a[0];
        for (int i = 1; i < a.length; i++) {
            if (a[i]>Maxvalue){
                Maxvalue=a[i];
            }
        }
        return Maxvalue;
    }

    //求一个数组的和
    public int Sum(int[] a){
       int sum=0;
        for (int i = 0; i < a.length; i++) {
            sum=sum+a[i];
        }
        return sum;
    }
    //利用冒泡排序,将一个数组由小到大排序
    public  int[] sort1(int[] array) {

        int temp = 0;
        for (int i = 0; i < array.length - 1; i++) {
            boolean flag = false;
            for (int j = 0; j < array.length - 1 - i; j++) {
                if (array[j + 1] < array[j]) {
                    temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                    flag = true;
                }
            }
            if (flag == false) {
                break;
            }
        }
        return array;
    }
}

方法的重载

  1. 定义:在同一个类中,允许存在一个以上的 同名方法,只要他们的参数个数或者参数类型不同即可。

    “两同一不同”:同一个类,同一个方法名

    ​ 参数列表不同,参数个数不同,参数类型不同0。

  2. 判断是否重载:

    跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系。

方法重载练习

package com.yicurtain.Object;

public class demo03 {
    //方法的重载
    public static void main(String[] args) {
        getSum getSum = new getSum();
        getSum.sum(1,2);
        getSum.sum(2.0,3.0);
    }
}
class getSum{
    public void sum(int i,int j){
        int sum1=i+j;
        System.out.println("两个数的和为:"+ sum1 +"\t1");
    }
    public void sum(double i,double j){
        double sum2=i+j;
        System.out.println("两个数的和为:"+ sum2+"\t2");
    }
}

推荐阅读