【Java基础15】final关键字,抽象类,接口,多态,instanceof关键字

本文介绍了Java编程中的final关键字的四种用途,包括常量、方法、类和参数的修饰。接着讨论了抽象类的概念、抽象方法的使用以及抽象类的特性。然后讲解了接口的定义、使用方式和面向接口编程的重要性。多态作为面向对象的重要特性,包括方法的重载、重写和对象的多态性。最后提到了instanceof关键字在类型检查中的作用,以及在设计父类时的一些原则。
摘要由CSDN通过智能技术生成

一、final关键字

1、定义一个常量

声明一个属性,命名规则建议大写,直接用类名进行访问。

常量必须在定义时或者构造器中初始化。

2、定义一个方法

final修饰方法时,该方法为最终方法,只能被继承,不能被重写。

3、定义一个类

final修饰的类不能被继承,故没有子类。

4、修饰方法参数

final修饰的方法参数不能被更改。

二、抽象类

1、概念

很多具有相同特征和行为的对象,可以抽象为一个类

很多具有相同特征和行为的类可以抽象为一个抽象类

使用abstract声明的类称为抽象类

2、抽象方法

抽象方法只能定义不能实现,用于被继承,其子类必须实现所有的抽象方法。

3、使用方法

抽象类可以没有抽象方法,有抽象方法的类必须是抽象类

抽象类可以有方法实现和属性

抽象类可以继承抽象类,可以不实现父类抽象方法

非抽象类继承抽象类,必须实现所有父类抽象方法

抽象类不能被实例化

抽象类不能用final修饰

抽象类可以有构造方法

三、接口

1、概念

接口是一组行为的规范、定义,没有实现

使用接口,可以使我们的程序更加利于变化

面向对象设计法则:基于接口编程

2、定义格式

interface 接口名称{

​ 全局常量;

​ 抽象方法;

}

3、使用方法

接口没有属性只有方法,只能定义抽象方法

接口中定义方法不写修饰符,默认public abstract

接口可以被接口继承,接口可以多继承

具体类实现接口必须实现接口的所有方法,使用implements关键字实现

一个类可以实现多个接口

接口不能有构造方法

接口不能被实例化

抽象类实现接口可以不实现接口的方法

4、面向对象设计原则

对修改关闭,对扩展开放

面向接口编程

四、多态

1、概念

对象在运行时的多种形态,对象的多态是从继承关系的多个类而来

2、分类

方法的重载和重写

对象的多态性

3、使用

用父类的引用指向子类的对象,实现抽象的粒度,面向抽象编程。

Chicken c=new HomeChicken();//向上转型

HomeChicken hc=(HomeChicken)c;//向下转型

五、instanceof关键字

1、使用方法

当需要把父类的实例强制转换为子类的引用时,为避免类型转换异常,那么需要在转换之前做类型检查

if(c instanceof HomeChicken) //判断对象是否是这个类型,成立的条件是对象本身及对象的父类型都可以通过检查

2、父类的设计法则

当父类的子类过多,使用instanceof判断过于繁琐,此时设计父类应满足如下原则:

父类通常都设计为抽象类或接口,其中优先考虑接口,接口不能满足则考虑抽象类

一个具体的类尽可能不去继承另一个具体类,这样的好处是无需检查对象是否为父类的对象。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值