Java面向对象 继承

简介: Java面向对象 继承

语法 修饰符:class SubClass extends SuperClass{

    //类定义部分

}

定义:继承(inheritance)通过extends关键字实现,其中SuberClass为SuperClass称为父类,基类或超类。修饰符若是public,则该类在整个项目中可见;若无public修饰符,则 该类只在当前包可见,不可使用private和protected修饰类

注:继承是面向对象的三大特点之一,继承是从已有类中派生出新的类,新类能吸收已有类的数据属性和行为,并能扩展新的能力。Object类是所有Java类的祖先。

子类能继承父类哪些?

    1.继承public和protected修饰的属性的方法,无论子类和父类是否在同一个包中

    2.继承默认权限修饰符(friendly)修饰的属性和方法,但子类和父类必须在同一个包里

    3.无法继承private修饰的属性和方法

    4.无法继承父类的构造方法(构造方法是类的,子类只能调用父类构造方法)。

重写必须满足要求:

1.重写方法和被重写方法必须具有相同的方法名

2.重写方法和被重写方法必须有相同的参数列表

3.重写方法和返回值类型必须和被重写方法的返回值类型相同或是其子类

4.重写方法不能小与被重写方法的访问权限

super代表对当前对象的直接父类对象的默认引用。在子类中可以通过super关键字来访问父类的成员。

    super必须出现在子类中而不是其他位置、

    可以访问父类的成员,如父类的属性,方法,构造方法

    注意访问权限限制,如无法通过super访问private成员

例:super.name;//访问直接父类的name属性

    super.print();//访问直接父类的print()方法

    super(name);//访问直接父类的对应构造方法,只能 出现在构造方法中

final类特点

    final类不能被继承,没有子类,final类中的方法默认是final的。 

    final方法不能被子类的方法覆盖,但可以被继承。 

    final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 

    final不能用于修饰构造方法。 

抽象类的定义和使用规则如下:

抽象类和抽象方法都要使用 abstract 关键字声明。
如果一个方法被声明为抽象的,那么这个类也必须声明为抽象的。而一个抽象类中,可以有 0~n 个抽象方法,以及 0~n 个具体方法。
抽象类不能实例化,也就是不能使用 new 关键字创建对象。

目录
相关文章
|
18天前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
12 2
|
23天前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
17 3
|
23天前
|
Java
在Java多线程编程中,实现Runnable接口通常优于继承Thread类
【10月更文挑战第20天】在Java多线程编程中,实现Runnable接口通常优于继承Thread类。原因包括:1) Java只支持单继承,实现接口不受此限制;2) Runnable接口便于代码复用和线程池管理;3) 分离任务与线程,提高灵活性。因此,实现Runnable接口是更佳选择。
30 2
|
23天前
|
Java
Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口
【10月更文挑战第20天】《JAVA多线程深度解析:线程的创建之路》介绍了Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口。文章详细讲解了每种方式的实现方法、优缺点及适用场景,帮助读者更好地理解和掌握多线程编程技术,为复杂任务的高效处理奠定基础。
28 2
|
23天前
|
Java 开发者
Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点
【10月更文挑战第20天】Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点,重点解析为何实现Runnable接口更具灵活性、资源共享及易于管理的优势。
28 1
|
2月前
|
Java 编译器
封装,继承,多态【Java面向对象知识回顾①】
本文回顾了Java面向对象编程的三大特性:封装、继承和多态。封装通过将数据和方法结合在类中并隐藏实现细节来保护对象状态,继承允许新类扩展现有类的功能,而多态则允许对象在不同情况下表现出不同的行为,这些特性共同提高了代码的复用性、扩展性和灵活性。
封装,继承,多态【Java面向对象知识回顾①】
|
1月前
|
Java 测试技术 编译器
Java零基础-继承详解!
【10月更文挑战第4天】Java零基础教学篇,手把手实践教学!
34 2
|
1月前
|
Java 编译器
在Java中,关于final、static关键字与方法的重写和继承【易错点】
在Java中,关于final、static关键字与方法的重写和继承【易错点】
21 5
|
1月前
|
Java
java继承和多态详解
java继承和多态详解
42 5
|
1月前
|
Java 编译器
【一步一步了解Java系列】:子类继承以及代码块的初始化
【一步一步了解Java系列】:子类继承以及代码块的初始化
24 3