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 关键字创建对象。

目录
相关文章
|
2天前
|
存储 安全 Java
Java面向对象最新超详细总结版!
Java面向对象最新超详细总结版!
27 7
Java面向对象最新超详细总结版!
|
2天前
|
Java
【Java开发指南 | 第二十四篇】Java继承
【Java开发指南 | 第二十四篇】Java继承
9 0
|
2天前
|
Java
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
14 4
|
2天前
|
Java
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
|
2天前
|
Java 编译器 开发者
Java一分钟之-继承:复用与扩展类的特性
【5月更文挑战第9天】本文探讨了Java中的继承机制,通过实例展示了如何使用`extends`创建子类继承父类的属性和方法。文章列举了常见问题和易错点,如构造器调用、方法覆盖、访问权限和类型转换,并提供了解决方案。建议深入理解继承原理,谨慎设计类结构,利用抽象类和接口以提高代码复用和扩展性。正确应用继承能构建更清晰、灵活的代码结构,提升面向对象设计能力。
16 0
|
2天前
|
Java
java面向对象——包+继承+多态(一)-2
java面向对象——包+继承+多态(一)
18 3
|
2天前
|
SQL Java 编译器
java面向对象——包+继承+多态(一)-1
java面向对象——包+继承+多态(一)
17 2
|
2天前
|
机器学习/深度学习 Java C++
Java 继承
5月更文挑战第1天
|
2天前
|
存储 Java 开发工具
【Java探索之旅】用面向对象的思维构建程序世界
【Java探索之旅】用面向对象的思维构建程序世界
12 0
|
2天前
|
Java
java使用面向对象实现图书管理系统
java使用面向对象实现图书管理系统