浅谈Java面向对象的概念

你真的知道吗?
什么是类?
什么是对象?
什么是继承?
什么是接口?
什么是包装?

什么是类

在java语言中用 class 类名 的方式来表示一个类,那么类到底是什么呢?JDK文档定义的是“类是创建对象的蓝图或原型”。大白话就是 :类就是对象的一个模板。打个比方:人 属于一个类,代表人类,那么人类这个模板包含什么呢?姓名、性别、年龄、鼻子、眼睛、耳朵、四肢 等等这些属性,同时还包含 能力这个方法;这些东西统称为人类。我们就写出了人类这个class

package com.sample;

/**
 * 人类
 */
public class Person {
    private String name; // 姓名
    private String sex; // 性别
    private Integer age; // 年龄

    public void getAbility(String ability){
        System.out.println(name + ": 年龄 " + age + ", 性别 " + sex + ", 具备 " + ability + " 等这些能力");
    }

    public Person() {
    }

    public Person(String name, String sex, Integer age) {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }

}

什么是对象

既然类是一套模板,那么接着上面的人类模板,对象就是根据这个人类模板创建的真实对象了,在java语言中 用 **new、Class.newInstance() ** 等 创建对象,比如:现实生活中的 张三、李四、王五 等等,这些都是真实的人类对象。

public static void main(String[] args){
    Person zhangsan = new Person("张三","男",11);
    zhangsan.getAbility("阅读、写作、英语口语、跑步");

    Person lisi = new Person("李四","男",22);
    lisi.getAbility("打球、跑步、唱歌");

    Person wangwu = new Person("王五","女",33);
    wangwu.getAbility("唱歌、阅读、带孩子、工作");
}
image.png

什么是继承

看到继承两个字,在现实生活中,我们经常听说:xx去了,xx的财产谁来继承,同时xx的继承者还有自己的资产 等。在Java中,继承的定义是 “不同种类的物体通常具有一定的共同点”,用extends来继承一个父类。比如:张三这个人类,不仅具有人类的特征,还有他自己特有的特征。


image.png
package com.sample;

public class ZhangSanPerson extends Person {
    // 编写张三的特有信息
}

什么是接口

接口也可以理解为是个按钮,连接外界 与 按钮另一侧的接口。如果我想开灯,那么按钮就作为 我 和 按钮另一端的链接,达到开灯的效果


image.png
package com.sample;

/**
 * 按钮接口
 */
public interface ButtonInterface {
    /**
     * 开灯
     */
    void turnOn();
}
package com.sample;


public class ButtonOperation implements ButtonInterface {
    @Override
    public void turnOn() {
        System.out.println("开灯");
    }

    public static void main(String[] args){
        ButtonInterface button = new ButtonOperation();
        button.turnOn();
    }
}

什么是包装

这个世界上除了人类这个物种,还有动物、植物 等等,因此要用package包装起来,这样人类 就不会放到 动物 或 植物那类。

你可能感兴趣的:(浅谈Java面向对象的概念)