转载

Java学习记录——开始以及类和对象

写在前面

作为一个前端切图仔,再学点后端的东西吧,感觉后端很有意思啊,不学白不学。

记录下整个过程,方便以后回顾和反思。

开始

先装好JAVA的相关环境(谷歌一下)。

小伙伴们推荐Ide用IDEA(谷歌下载安装)。

IDEA启动!!!

哦豁,激活要钱,先免费试用30天!!

打开IDEA,建一个新项目,发现主题颜色和字体不对胃口,改!(谷歌一下)

啊~舒服了。

Java学习记录——开始以及类和对象

Hello world也有了,先去 菜鸟教程 过一遍JAVA的基础快速入门吧~

类和对象

类描述了一类对象的行为和状态, 对象是类的实例。

听不懂?听不懂就对了。举个栗子:

  • 狗是一个类,所有的狗子都拥有相同的特征和行为,比如特征,都是四条腿,毛绒绒,贼可爱。比如行为,狗子都会汪汪汪,爱吃狗粮还黏人。
  • 对象,就是一只具体的狗,比如我家养的狗子(实际上我家没养狗子,因为房东不让养),我家的狗子就是一个具体的对象。隔壁邻居家养的二哈也是一个具体的对象。

用代码咋写呢?

我们在Src文件夹下新建一个Dog.java, 写下面的代码

public class Dog {
    int age; // 狗子年龄,整型
    String color; // 狗子颜色,字符串类型
    String size; // 狗子尺寸,字符串类型

    public Dog(int age, String color, String size) {
        // 狗子的构造方法
        this.age = age;
        this.color = color;
        this.size = size;
    }

    void barking() {
        // 狗子汪汪叫方法
        System.out.println("汪汪");
    }

    void sayAge() {
        // 人工智能狗子,可以报年龄
        System.out.println("狗子我今年:" + this.age + "岁啦");
    }

    void sayColor() {
        // 人工智能狗子,可以报颜色
        System.out.println("狗子我是高贵的:" + this.color + "色");
    }

    void saySize() {
        // 人工智能狗子,可以报尺寸
        System.out.println("狗子我尺寸是:" + this.size);
    }

    public static void main(String [] args) {
        Dog myDog = new Dog(2, "yellow", "small");
        myDog.barking();
        myDog.sayAge();
        myDog.sayColor();
        myDog.saySize();
    }
}

解释一下:

先别管那个main方法,看这个类,我定义了一个Dog类,里面有 属性和方法

有一个和类名同名的方法,专业术语叫 构造函数 , 这个函数在 new一个对象的时候会被自动调用

这个函数里的this,指的是实例化的那个对象。放在后面说。

然后看 main 方法:

Dog myDog = new Dog(2, "yellow", "small");

表示:

  1. 通过Dog类生成一个myDog的对象。
  2. 自动调用构造函数,并且将传进去的三个参数赋值给myDog的三个属性(因为this指向这个new出来的对象)

通过这样我们可以得到:

  1. 一个myDog的对象
  2. myDog的年龄,颜色,尺寸分别为2, yellow, small。

剩下的就是通过调用对象中的方法来输出对应的属性,在idea中运行该文件,即可在控制台看到以下输出。

Java学习记录——开始以及类和对象

回顾

在上面的代码中,我们可以明白为什么需要类和对象,下一次当我邻居需要new一条他的狗子的时候,他可以调用:

Dog anotherDog = new Dog(1, "white", "large");

并且可以调用方法来输出他自己狗子的属性,同理,可以new出千千万万条狗子。

大家的类是类似的,但是每个对象有自己独特的属性,这就是对象和类的关系。

原文  https://segmentfault.com/a/1190000018604208
正文到此结束
Loading...