不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • Java基础

  • 面向对象

    • 01.方法
    • 02.类和对象
      • 01.类和对象
        • 1、类和对象
        • 2、构造方法
        • 3、属性和方法
    • 03.封装继承多态
    • 04.接口
  • Java进阶

  • Web基础

  • Spring框架

  • 微服务

  • Java
  • 面向对象
xiaonaiqiang
2021-11-16
目录

02.类和对象

# 01.类和对象

# 1、类和对象

  • 1、什么是类
    • 我们在前面的学习中已经知道,类 (class) 是一个程序的基本单位,我们之前所编写的 .java 文件都是类
public class ImoocStudent {

}
1
2
3
  • 2、什么是对象
    • 你也许听到过一句话:“万物皆对象”,是的,现实世界中所有的事物,都可以是对象
    • 例如一个慕课网学生、一辆汽车、NBA 巨星乔丹等等,都是对象

# 2、构造方法

  • 构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的
  • 构造方法分为有参构造方法和无参构造方法,区别就在于有没有参数
public class Example {
    public Example()  {                              // 定义无参构造方法
        System.out.println("无参构造方法");
    }

    public Example(String name) {                   // 定义有参构造方法
        System.out.println("有参构造方法");
    }

    // 类的主方法, 是类的入口点
    public static void main(String[] args) {
        Example obj01 = new Example();
        Example obj02 = new Example("张三");
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 3、属性和方法

public class Person {
    // 成员属性:用于存储对象数据(类的组成部分)
    private String name;
    private int age;
    // 静态变量:与类无关的变量
    public static int callCount = 0;

    // 无参构造方法
    public Person() {
        // 可以初始化默认值
    }

    // 全参数构造方法(构造方法必须与类同名,可以有多个)
    public Person(String name, int age, String address) {
        // this关键字是用来引用当前对象的,它可以用来访问对象的属性和方法,以及调用构造函数
        this.name = name;
        this.age = age;
    }

    // 静态方法:与类无关,无需创建类即可调用
    public static int getCallCount() {
        System.out.println("执行了静态方法: getCallCount");
      return callCount;
    };

    // 公共方法
    public void introduce() {
        System.out.println("Name:" + name + " Age:" + age );
    }

    // 重写 toString 方法
    @Override
    public String toString() {
        return "Person{" + "name='" + name + '\'' + ", age=" + age + '}';
    }

    // 公共的 getter 方法来获取属性值
    public String getName() {
        return name;
    }

    // 公共的 setter 方法来设置属性值
    public void setName(String name) {
        this.name = name;
    }

    // 主方法,用于测试 Person 类
    public static void main(String[] args) {
        System.out.println(Person.getCallCount());
        Person person = new Person("Tom", 30, "beijing");
        // 调用对象的方法
        person.introduce();
        // 打印对象的信息
        System.out.println(person.toString());
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
上次更新: 2024/5/31 11:18:42
01.方法
03.封装继承多态

← 01.方法 03.封装继承多态→

最近更新
01
06.Mage平台
05-30
02
16.区块链交易所
05-28
03
01.常识梳理
05-28
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式