java学习笔记之(面向对象进阶:抽象类、接口、静态字段和方法)

本文探讨了Java中的抽象类、接口及其使用,强调了面向抽象编程的重要性。抽象类用于定义规范,不允许实例化,而接口则规定了类的接口标准。此外,文章还介绍了静态字段和方法的概念,它们是类级别的共享成员。
摘要由CSDN通过智能技术生成

面向对象进阶:抽象类、接口、静态字段和方法

抽象类

为什么有抽象类?

当父类的某些方法,需要声明,但又不确定如何实现时,可以将其声明为抽象方法,那么这个类就是抽象类。(抽象类包含:具体的方法+抽象的方法(可以没有))

例如:
如果父类的方法本身不需要实现任何功能,仅仅是为了定义方法签名,目的是让子类去覆写它,那么,可以把父类的方法声明为抽象方法:

class Person {
   
    public abstract void run();
}

把一个方法声明为abstract,表示它是一个抽象方法,本身没有实现任何方法语句。因为这个抽象方法本身是无法执行的,所以,Person类也无法被实例化。编译器会告诉我们,无法编译Person类,因为它包含抽象方法。
必须把Person类本身也声明为abstract,才能正确编译它:

abstract class Person {
   
    public abstract void run();
}

抽象类的介绍

抽象:不具体的,不能使用的
在这里插入图片描述

抽象类的使用注意

1)抽象类不能被实例化[举例];
2)抽象类不一 定要包含abstract方法。 也就是说,抽象类可以没有abstract方法[举例];
3)一旦类包含了abstract方法,则这个类必须声明为abstract [说明];
4) abstract只能修饰类和方法,不能修饰属性和其它的。[说明]
5)抽象类本质还是类,不能一种不能被实例化,只能被继承的类。所以类里面有的属性、构造器、非抽象方法等,抽象类都有
总之:抽象类在内容上允许有抽象方法的添加;在使用上,不能想 类一样被实例化
在这里插入图片描述

public classAbstractDetail01 {
   
public static void main(String[] args) {
   
//抽象类,不能被实例化
//newA();
}
}
//抽象类不一定要包含 abstract 方法。也就是说,抽象类可以没有 abstract 方法
//,还可以有实现的方法。
abstract classA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值