前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >要学Java理解对象和类是关键

要学Java理解对象和类是关键

作者头像
dongfanger
发布2021-08-24 10:29:49
3120
发布2021-08-24 10:29:49
举报
文章被收录于专栏:dongfanger

序言

我们都知道Java是纯面向对象编程语言,这个对象是什么,类是什么,它们的关系是怎样呢?

类和对象的关系

先看一张图:

image-20210724204444148
image-20210724204444148

是girl和boy,对象是每个具体的女孩(Lucy、Rose)和男孩(David、Jack)。

这完美解释了类和对象的关系,即:类是对象的模板

状态和行为

对象有两个特征,一个是状态(又叫做属性),一个是行为(又叫做方法),我们拿狗来举例,狗的状态有品种、大小、颜色、年龄;行为有吃、跑、睡觉。如图所示:

image-20210731160419612
image-20210731160419612

图的左边是3个狗对象,右边是1个狗。类定义了对象应该有哪些属性和方法,对象根据类定义好的模板,创建了个性化的实例。

代码实现如下:

代码语言:javascript
复制
public class Dog {
    // 属性
    String breed;
    int size;
    String colour;
    int age;
 
    // 方法
    void eat() {
    }
 
    void run() {
    }
 
    void sleep(){
    }
}

构造方法

在通过类创建对象时,构造方法提供了如何创建对象的细节。Java会给类一个默认的构造方法,你也可以自定义一个或多个构造方法,构造方法命名必须和类名相同,比如:

代码语言:javascript
复制
public class Dog{
    public Dog(String breed){
    }
}

代码中定义了2个构造方法,根据参数不同,在构造时会调用相应的构造方法。

创建对象

如果没有对象,那么就new一个。Java是通过new关键字来创建对象的。比如使用默认构造方法创建对象:

代码语言:javascript
复制
Dog myDog = new Dog();

或者使用自定义构造方法创建对象:

代码语言:javascript
复制
Dog myDog = new Dog("Bulldog");

访问对象属性和方法

Java和大多数语言一样,采用.运算符访问对象属性和方法,比如:

代码语言:javascript
复制
public class Dog {
    int age;

    public void setAge(int age) {
        this.age = age;
    }

    public int getAge() {
        return this.age;
    }

    public static void main(String[] args) {
        // 创建对象
        Dog myDog = new Dog();
        // 通过方法来设定age
        myDog.setAge(2);
        // 调用另一个方法获取age
        System.out.println(myDog.getAge());
        // 也可以像下面这样访问成员变量
        System.out.println(myDog.age);
    }
}

类存放规则

Java源文件是用类来组织的,存放在源文件中的类遵循下面几项规则:

  • 一个源文件只能有一个public类,可以有多个非public类。
  • 源文件名必须与public类名一致。
  • package语句在首行,其次是import语句,最后是类。

小结

本文介绍了对象与类的关系,即:类是对象的模板,根据类创建个性化的对象实例。对象有状态和行为,也叫做属性和方法。类创建对象时会使用构造方法,可以通过.运算符来访问对象属性和方法。文章最后列举了类存放的几条规则,这是Java语法的约束。

参考资料: https://www.runoob.com/java/java-object-classes.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 序言
  • 类和对象的关系
  • 状态和行为
  • 构造方法
  • 创建对象
  • 访问对象属性和方法
  • 类存放规则
  • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档