Java语言的三大特性

所有面向对象语言的三个最基本特征:封装 继承 多态
Java语言的三大特性

1、封装:

  • 将某些东西包装在一起,然后以新的完整形式呈现出来;
  • 隐藏属性、方法或实现细节的处理方式称为封装;
  • 封装其实就是有选性地公开或隐藏某些信息,它解决了数据的安全性问题。

封装是对事物进行包装。封装会造成事物的部分细节被隐藏。在Java中通过关键字 public、protected、默认(无修饰词)和private 实现封装。
[ 封装可以被认为是一个保护屏障,定义程序如何引用对象的数据,控制用户对类的修改和访问数据的程度,实现将对象的信息隐藏在对象内部,禁止外部程序直接访问对象内部的属性和方法。]

  • public修饰词,表示成员是公开的,所有其他类都可以访问(在java中属于最大的访问权限);
  • protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问;
  • 无修饰词,表示包访问权限,同一个包内可以访问,访问权限是包级访问权限;
  • private修饰词,私有的 访问范围只能在本类中使用 (在java中属于最小的访问权限);

封装的步骤:

  • 使用 public、protected、默认(无修饰词)和private 关键字来修饰成员变量。
  • 对需要访问的成员变量,提供对应的一对 getXxx方法 、setXxx 方法。

2、继承:

  • 继承就是重用现有的类来生成新类的一种特征;
  • 通俗地讲就是从现有的类(即父类或基类)创建新类(子类或派生类)的过程;
  • 现实生活中,继承可以达到财产重用的目的,而在Java中,继承可以使代码重用。
  • 举例:引用地址
    先说说我对类的理解,类起到的作用有:分类(你所用某个类创建的对象实际上该类的个案)和模板的作用,比如,有个类“动物”,“哺乳动物”继承“动物”,再往下“马”又继承了“哺乳动物”这个类。在这里,我们从下往上讲,首先,我们把某种东西划分出来,叫做“马”(当然还有“牛”,“鱼”等等),接着,我们发现,“马”,“羊”等还有很多共同的特点,于是,我们再次划分出了“哺乳动物”这个类,再次分类,我们则有了“动物”。但在实际开发中,我们一般是从上往下定义的,即先有了“动物”,再有“哺乳动物”,最后有“马”。

3、多态:

  • 多态是指同一函数在不同的类中有不同的实现;
  • 多态的好处就是使类更加灵活,更便于扩充。
  • 举例:引用地址
    假设有一个类 叫 鸟类,它拥有属性 翅膀,拥有方法 鸣叫,如下:
    public class Bird{
    private Wing wing;
    public void moo(){
    System.out.println(“鸟叫声”);
    }
    }
    鸟类封装了 翅膀类和moo方法;另外有两个类都继承鸟类并重写了moo方法,分别是鹦鹉和麻雀,如下:
    鹦鹉类:
    public class Parrot extends Bird{
    public void moo(){
    System.out.println(“鹦鹉的叫声”);
    }
    }
    麻雀类:
    public class Sparrow extends Bird{
    public void moo(){
    System.out.println(“麻雀的叫声”);
    }
    }
    方法重写应该懂吧,不懂自己找书看吧;然后你有个妻子她想听鸟叫,就有个妻子类
    public class Wife{
    public void listen(Bird bird){
    bird.moo();
    }
    这时多态就很好的体现了,你妻子想听鸟叫,无论什么鸟都可以给她,但是你想让她和鹦鹉说话,你就买了一只鹦鹉传给listen方法,结果你妻子听到了鹦鹉的叫声,程序输出:鹦鹉的叫声
    public static void main(String[] args) {
    new Wife().listen(new Parrot());
    }
    }
    多态实现了动态绑定,让程序有了很好的扩展性,比如你以后想买一只燕子送给你妻子,就只需要写个燕子类Swallow继承Bird方法就可以了,而不需要再在妻子类里添加一个方法listen(Swallow swallow)

总结:

  • 封装:控制权限
  • 继承:重写父类
  • 多态:方法重载和方法重写
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值