Java 多态 抽象类 接口

1. 多态

多态是面向对象编程的一个重要概念,它允许使用基类类型的引用来引用派生类的对象。Java中的多态通过方法的重写(Override)实现,使得同一类型的对象在运行时表现出多种不同的形态。

实现多态的关键要素:

  • 继承(Inheritance):一个子类继承了父类的方法。
  • 重写(Override):子类重新定义了父类的方法。

2. 向上转型

向上转型是指将子类的对象赋值给父类类型的引用变量。这样做的好处是可以使用父类的引用来操作子类的对象,实现代码的灵活性。

3. 向下转型

向下转型是将父类类型的引用变量转换为子类类型的引用变量。在进行向下转型之前,需要使用instanceof运算符检查对象是否是目标类型的实例,以避免ClassCastException异常。

4. 抽象类(Abstract Class)

抽象类是一种不能实例化的类,它用于定义一些通用的属性和方法,但是具体的实现交给子类。抽象类通过abstract关键字声明,可以包含抽象方法和普通方法。

5. 接口(Interface)

接口是一种抽象类型,它定义了一组方法的签名但不包含具体实现。类可以实现一个或多个接口,从而达到多继承的效果。接口中的方法默认为抽象方法,可以包含常量和默认方法。

6. 权限修饰符

public(公共的)

  • 修饰的成员在任何地方都可以访问。
  • 对于类而言,如果一个类被声明为public,那么它的类名必须与文件名相同,并且一个源文件只能包含一个public类。

protected(受保护的)

  • 修饰的成员对于同一包内的类以及该类的子类可见。
  • 对于类而言,protected修饰符不能用于顶级(非内部)类。

default(默认的,不使用关键字修饰)

  • 修饰的成员对于同一包内的类可见,不使用任何修饰符时,默认为default。
  • 对于类而言,default修饰符不能用于顶级(非内部)类。

private(私有的)

  • 修饰的成员只对于当前类可见。
  • 对于类而言,private修饰符不能用于顶级(非内部)类。

注意:

  • 类的成员变量一般声明为私有的,通过公共的getter和setter方法来访问和修改它们的值,以保护数据的封装性。
  • 接口中的成员变量默认为public static final,而接口中的方法默认为public abstract。因此,接口中的成员具有公共访问权限。
  • 构造方法不能使用任何访问修饰符,但可以使用publicprotecteddefaultprivate修饰类的构造方法,以限制类的实例化权限。
  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丶君莫笑丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值