登录  /  注册
首页 > Java > java教程 > 正文

java什么是抽象与封装

(*-*)浩
发布: 2019-05-22 19:45:43
原创
4015人浏览过

抽象是将相同的类的共同特征总结出来,构造成类的过程;只关心成员变量以及成员函数,并不关系具体的实现细节。封装是把数据以及操作方法封装在函数/类里,然后再装起来;也就是把数据以及操作数据的方法绑定起来,对外界提供已经定义好的接口进行访问。

java什么是抽象与封装

java的四个基本特征是抽象,封装,多态,继承。今天我们就来讲讲什么是抽象与封装。

抽象

抽象:将相同的类的共同特征总结出来,构造成类的过程。包括数据抽象以及行为抽象。数据抽象变成类的成员变量,行为抽象变成类的成员函数。抽象只关心成员变量以及成员函数,并不关系具体的实现细节。

下面是Person.class,表示与人类相关的数据以及各种活动,只列举部分的属性以及行为。

public class Person{
    // 年龄(数据抽象)
    public int age;
    // 名字(数据抽象)
    public String name;

    public Person(){

    }
    public Person(int age,String name){
        this.age = age;
        this.name = name;
    }
    // 吃东西(行为抽象)
    public void eat(){
        System.out.println("I am eating");   
    }
    // 走路(行为抽象)
    public void walk(){
        System.out.println("I am walking");  
    }
}
登录后复制

创建一个人类的对象:

Person person = new Person(18,"张三");
登录后复制

上面的代码仅仅用来表示简单的抽象,将人共同的属性以及共同的行为抽象出来。

封装

封装其实可以理解为:“装”与“封”,就是把数据以及操作方法封装在函数/类里,然后再装起来。也就是把数据以及操作数据的方法绑定起来,对外界提供已经定义好的接口进行访问。面向对象的本质就是将现实世界描绘成一系列的完全自治,封闭的对象。可以理解为我们无论内部实现有多复杂,使用者可以完全不用理,只需要知道怎么使用就可以了。

举个小例子:下面是学生的类,study的方法其实就是一种封装,外界要是需要学生学习,那就直接调用study()方法即可,不需要知道我如何实现学习这个方法。

public class Student implements Serializable {
    public String name;
    public String number;
    public int age;
    public Student() {
    }
    public Student(String name, String number, int age) {
        this.name = name;
        this.number = number;
        this.age = age;
    }
    public void study(){
        System.out.println("我是学生"+name+",我今年"+age+"岁。");
        //内部可能有很复杂的操作,但是调用者只需要关注如何调用即可
    }
}
登录后复制

以上就是java什么是抽象与封装的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号