• 面向对象基础——类和方法


    面向对象基础

    Java是一种面向对象的编程语言。面向对象编程,英文是Object-Oriented Programming,简称OOP。

    面向对象程序设计(OOP) 就是使用对象进行程序设计。对象(object) 代表现实世界中 可以明确标识的一个实体。例如:一个学生、一张桌子、一个圆、一个按钮甚至一笔贷款都 可以看作是一个对象。每个对象都有自己独特的标识、状态和行为。

    和面向对象编程不同的,是面向过程编程。面向过程编程,是把模型分解成一步一步的过程。

    面向对象编程,是一种通过对象的方式,把现实世界映射到计算机模型的一种编程方法。

    定义class

    在Java中,创建一个类,例如,给这个类命名为Person,就是定义一个class

    class Person {
        public String name;
        public int age;
    }
    
    • 1
    • 2
    • 3
    • 4

    一个class可以包含多个字段(field),字段用来描述一个类的特征。上面的Person类,我们定义了两个字段,一个是String类型的字段,命名为name,一个是int类型的字段,命名为age。因此,通过class,把一组数据汇集到一个对象上,实现了数据封装。

    public是用来修饰字段的,它表示这个字段可以被外部访问。

    创建实例

    定义了class,只是定义了对象模版,而要根据对象模版创建出真正的对象实例,必须用new操作符。

    new操作符可以创建一个实例,然后,我们需要定义一个引用类型的变量来指向这个实例:

    Person ming = new Person();
    
    • 1

    Person ming是定义Person类型的变量ming,而new Person()是创建Person实例。

    方法

    一个class可以包含多个field,例如,我们给Person类就定义了两个field

    class Person {
        public String name;
        public int age;
    }
    
    • 1
    • 2
    • 3
    • 4

    定义方法

    从上面的代码可以看出,定义方法的语法是:

    修饰符 方法返回类型 方法名(方法参数列表) {
        若干方法语句;
        return 方法返回值;
    }
    
    • 1
    • 2
    • 3
    • 4

    方法返回值通过return语句实现,如果没有返回值,返回类型设置为void,可以省略return

    private方法

    public方法,自然就有private方法。和private字段一样,private方法不允许外部调用,那我们定义private方法有什么用?

    定义private方法的理由是内部方法是可以调用private方法的。

    方法参数

    方法可以包含0个或任意个参数。方法参数用于接收传递给方法的变量值。调用方法时,必须严格按照参数的定义一一传递。例如:

    class Person {
        ...
        public void setNameAndAge(String name, int age) {
            ...
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    调用这个setNameAndAge()方法时,必须有两个参数,且第一个参数必须为String,第二个参数必须为int

    可变参数

    可变参数用类型...定义,可变参数相当于数组类型:

    class Group {
        private String[] names;
    
        public void setNames(String... names) {
            this.names = names;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    上面的setNames()就定义了一个可变参数。

    this变量

    在方法内部,可以使用一个隐含的变量this,它始终指向当前实例。因此,通过this.field就可以访问当前实例的字段。

    如果没有命名冲突,可以省略this

  • 相关阅读:
    windows下安装jdk1.8详细教程
    【无标题】
    x64 番外篇——保护模式相关
    vue3+ts+vite之路由组件的搭建
    APISIX 中ETCD 的问题
    媳妇面试了一家公司,期望月薪20K,对方没多问就答应了,只要求3天内到岗,可我总觉得哪里不对劲。
    王江涛十天搞定考研词汇
    SpringCloud文件上传
    redis安装及集群搭建
    Window 窗口函数 (Spark Sql)
  • 原文地址:https://blog.csdn.net/m0_59138290/article/details/126881596