有兴趣30分钟了解一下java的封装、多态、继承的特性吗

有刚入门java的小伙伴刚想找工作,在网上刷题,刷到的题型中,百分百让你印象深刻的一道题型就是问你面向对象的三大特性,A,B,C,D.四大选择。
  其实这三大特性就是封装,多态和继承啦。
  那我就免费为大家分步讲解一下。
  我的大部分的截图来自我长久学习基础java知识的一个平台:how2J。想要掌握Java深入浅出的知识,请点进去看一看吧。
  那么封装是一个什么意思呢?java是一门面向对象的语言,编写出给人看的代码装在一个一个箱子里一样的对象里,权限的等级分为private,默认,protected,public,访问级别依次扩大。对象管理内部封装的属性,是否可以访问,以及如何修改,可见与否。这就是封装的优势,这种特性提高了代码的安全性。
  图1图1封装的英雄对象内部,为所有外部访问者创建了一个可访问的攻击方法,方法中简单打印一行“进行物理攻击”的文字。开发者可以灵活设置访问权限为仅本人可见的private,也可以改变方法内部逻辑。这个方法的变动只在这个对象内可见,其他的对象不可见,代码维护起来进入这个类对象,能提供简洁的页面。

其实眼尖的同学已经可以看到这个截图里的对象引用了extends和implements的字眼。这两个字段分别表示继承自上一个对象的所有属性和方法,以及实现一个接口中所有的方法,实现了java的继承特性。

这个特性可以让开发者极大减少了冗余代码,提高了开发效率,而且维护成本也大大提高,原因是维护父亲对象的时候,所有继承父亲对象或接口的属性都将随之改变。

图2例如在AD接口内部添加一个方法public void magicAttack(),所有实现AD接口的英雄都可以发出魔法伤害,避免了修改每一个英雄对象的复杂维护动作。

多态这个特性顾名思义,是一种物质的多种形态。一个对象中的方法的方法名相同,参数不同,是多态的实现方式。上图中添加physicalAttack(String attack)方法,传入攻击类型名字生成攻击,就是physicalAttack()方法的多态形式。这个方法可以写成如下方式:

private String attack;
public void physicalAttack(){
	System.out.println(String.format("发出了%s的物理攻击",attack))
}
public void physicalAttack(String attack){
      if(attack==null)
      return ;
       this.attack = attack;
       physicalAttack();
}

你看,带参数的physicalAttack方法不需要再写攻击内容了,可以调用其他形态的physicalAttack()方法了。

以上就是今天的分享了。
想要继续深入了解java的知识,进入how2J的学习网站一起学习吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值