final关键字以及抽象类

1.修饰类

修饰类就表示该类是最终类,不可以被继承,无子类。

2.修饰实例变量和类变量以及局部变量

这就表示该变量不可以被修改,也就是常量,如果被修饰的实例变量没有进行手动赋值,那么其所在类的每个构造方法都必须对该变量赋值。由于局部变量和普通成员变量和类变量不同,局部变量缺少其他两个变量在class文件拥有的属性,故局部变量前的修饰符无意义,也就是说final,static,private等修饰局部变量没有意义。

3.修饰成员方法

修饰后就不可以进行重写,也就表明该方法的实现必须通过该类的一个对象。

抽象类

1.作用以及含义:顾名思义,抽象类只是对一个类的抽象,是不可以实例化的,即是不可以创建子类对象,定义抽象类目的一是为了建立一个抽象的模型,使得类的设计层次清晰,二是提供类体系的通用接口(下面举例),以方便通过抽象类的通用接口处理类体系的所有类。

2.特点:抽象类必须要有抽象方法,并且要用abstract修饰,其他普通方法,构造方法等有没有就无要求。

抽象类的子类如果不重写实现抽象类的抽象方法,那么该子类也是抽象类。

3.作用详解以及举例

05d647fd03e04d33add4dcd3b5f41430.jpg

 就比如改图,shape类并没有实际意义,只是为了定义该类体系的通用接口,因为子类重写了抽象类的方法,所以通过多态的形式,可以通过一个抽象类对象调用子类中任意一个类的重写后的方法,这个对象就是通用的接口。

注:抽象类如果没有子类那么他将没有意义,一般将抽象类的构造方法的访问权限设置为protected而不是public,这样就可以保证子类可以调用,而不被其他无关类进行调用。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值