4、Java入门—多态

多态:对象的多种形态
1.引用多态
父类的引用可以指向本类的对象
父类的引用可以指向子类的对象,反之不行
2.方法多态
创建本类对象时,调用的方法为本类方法;

创建子类对象时,调用的方法为子类重写的方法或者继承的方法,不允许调用子类特有的方法。

注意:继承是多态实现的基础

引用类型转换:
1.向上类型转换(隐式、自动类型转换),是小类型到大类型的转换。无风险
2.向下类型转换(强制类型转换)是大类型到小类型。有风险,溢出。

3.instanceof运算符,来解决引用对象的类型,避免类型转换的安全问题。


解决办法:


instanceof用法:
对象名 instanceof 类名
返回的是布尔值:true/false,通常配合if一起使用

抽象类:
1.语法定义:
抽象类前使用abstract关键字修饰,则该类为抽象类。
2.应用场景:
a.在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法。(约束子类用哪些方法,不关心具体实现)
b.从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。
3.作用:
限制规定子类必须实现某些方法,但不关注实现细节
4.使用规则
a.abstract定义抽象类;
b.abstract定义抽象方法,只是声明,不需要实现;
c.包含抽象方法的类是抽象类;
d.抽象类中可以包含普通的方法,也可以没有抽象方法;
e.抽象类不能直接创建,可以定义引用变量;

抽象类中可以有属性,一般不会定义属性,而是在具体类中定义属性,抽象类中大多数定义的是方法,由子类实现。

接口:可以多继承
1.接口概念
接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成。
类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,它只规定这些类里必须提供某些方法。
2.接口定义
和类定义不同,定义接口不再使用class关键字,而是使用interface关键字。
接口定义的基本语法:
[修饰符]interface接口名[extends父接口1,父接口2...]
{
零个到多个常量定义...
零个到多个抽象方法的定义...
}
接口就是用来被继承、被实现的,修饰符一般建议用public
注意:不能使用private和protected修饰接口
常量:
接口中的属性是常量,即使定义时不添加public static final修饰符,系统也会自动加上。
方法:
接口中的方法只能是抽象方法,总是使用,即使定义时不添加public abstract修饰符,系统也会自动加上。
3.使用接口
一个类可以实现一个或多个接口,实现接口使用implements关键字。Java中一个类只能继承一个父类,是不够灵活的,通过实现多个接口可以做补充。
继承父类实现接口的语法:
[修饰符]class类名extends父类implements接口1,接口2...
{
类名部分//如果继承了抽象类,需要实现继承的抽象方法;要实现接口中的抽象方法。
}
如果要继承父类,继承父类必须在实现接口之前。

接口定义为了区分类,可以在接口名前加一个I,接口及其方法的修饰符一般不加abstract,但是系统会自动加上。

接口可以描述多个不同类之间的共有特征(抽象方法)。接口不能实例化,可以通过具体实现接口的类初始化接口。

接口直接实例化本身通过的是匿名内部类。
使用接口:
接口在使用过程当中,还经常与匿名内部类配合使用。
匿名内部类:没有名字的内部类,多用于关注实现而不关注实现类的名称。
语法格式:
Iterface i=new Interface(){

    @Override
    public void method(){
       System.out.println("匿名内部类实现接口的方式");
  }
};
i.method();

或者

new Interface(){

    public void method(){
       System.out.println("匿名内部类实现接口的方式2");
  }
}.method();//较常用

抽象类和接口的区别:

接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,

另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。

还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用.

UML:
1.UML概念
Unified Modeling Language(UML)又称统一建模语言或标准建模语言
是一个支持模型化和软件系统开发的图形话语言,为软件开发的所有阶段提供模型化和可视化支持。
2.UML图示
UML2.2中一共定义了14种图示(diagrames)。
3.常用UML图
用例图(The Use Case Diagram)
用例图能够以可视化的方式,表达系统如何满足所收集的业务规则,以及特定的用户需求等信息。


序列图(The Sequence Diagram)
序列图用于按照交互发生的一系列顺序,显示对象之间的这些交互。


类图/类别图(The Class Diagram)
UML类图、业务逻辑和所有支持结构一同被用于定义全部的代码结构。(了解类和类之间的关系,类的属性和方法。)

常用建模工具:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值