`
Java杰
  • 浏览: 2708 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
文章分类
社区版块
存档分类
最新评论

java继承,抽象类

阅读更多
//继承:
使用继承后,方便修改代码,减少代码量;
起到代码重用;
使用extends修饰;

语法:
pubilc class 子类名 extends 父类名;

在继承中,中能继承一个父类;
子类访问父类要使用super关键字,super代表父类对象;
实例化子类对象,会默认先执行父类的无参数构造,在执行子类的无参数构造;
实例化子类有参数构造时,使用super(参数)重复调用父类中的有参数构造,默认会直接调用父类的有参数构造,而不会调用无参构造;

科普:
子类不可以继承父类的构造方法;
被子类继承的类叫做父类,基类或者超类;
object类时所有类的父类,在JAVA中,所有的java类都是直接或间接的继承了java.lang.Object类,Object类是所有java类的祖先;
super语句必须在子类的方法或构造方法中,而不是其他位置;(如果没有使用extends关键字,也就是没有显式的继承某个类,那么这个类直接继承Object类;)
特别注意:如果存在多级继承关系,则在创建一个子类对象时,则会多次向更高一级的父类应用,一只执行顶级父类Object类的无参构造方法为止;

语法:(注意:如果在子类构造方法中调用父类构造,super语句必须是第一句;)
访问父类构造方法:
super();   //当直接 super() 的时候是调用父类的无参数构造;
super(name);  //当s uper(参数)括号里有参数的时候,则调父类的有参数构造;

访问父类属性:
super.name;

访问父类方法:
super.print();

一个构造方法中不允许同时使用 this 和 super 语句调用构造方法(否则只执行俩条的第一条(指那条排第一,就执行那句));
在类方法中(static 修饰的方法)不允许出现 this 或 super 关键字;

重写:
在子类中可以根据需求对父类继承的方法进行重新编写,称为方法的重写或方法的覆盖;
方法重写必须满足以下条件:
1.重写方法和被重写方法必须具有相同的方法名;
2.重写方法和被重写方法必须具有相同的参数列表;
3.重写方法的放回值类型必须和被重写方法的放回值类型相同;
4.重写方法不能缩小被重写方法的访问权限;

重载跟重写之间的区别:
重载涉及同一个类中的同名方法(必须在同一个类中),要求方法名相同,参数列表不同,与返回值,访问修饰符无关;
重写涉及的时父类和子类之间的同名方法,要求方法名相同,参数列表相同,返回类型相同,访问修饰符不能大于父类;

抽象类和抽象方法:
抽象类和抽象方法都是用abstract来修饰;(抽象类不能同new实例化)
抽象类中可以没有,有一个或多个抽象方法,甚至全部方法都可以时抽象方法;
抽象方法只有方法声明,没有方法实现。有抽象方法的类必须声明为抽象类,子类必须重写所有的抽象方法才能实例化;
抽象方法只能在抽象类中,抽象方法没有方法体(即指{ }大括号);

语法:
public abstract void print(); 没有大括号;
abstract不能来修饰属性和构造方法;
抽象类可以有构造方法,其构造方法可以被本类的其他构造方法调用,若构造方法不是有private修饰,也可以被子类中的构造方法调用;

abstract 不能和 private 同时修饰一个方法;
abstract 不能和 static 同时修饰一个方法;
abstract 不能和 final 同时修饰一个方法;
分享到:
评论

相关推荐

    Java继承_抽象类与接口的应用.

    1.继承及继承实例 2.方法重写(Overwrite) 3.super关键字 4.方法重载(Overload) 5.final修饰符 6.abstract修饰符 7.抽象类 8.接口 9.接口和抽象类对比 10.接口和抽象类使用场合实例 11.总结

    JAVA 继承基本类、抽象类、接口区别与联系

    5. **实现要求**:继承抽象类的子类必须实现所有抽象方法;实现接口的类必须实现接口中的所有方法。 #### 六、示例代码 以下是一个简单的示例,展示了基本类、抽象类和接口的基本用法: ```java // 基本类示例 ...

    java 抽象类与接口的练习

    在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们允许我们定义规范,供其他类去实现或继承。在这个练习中,我们将深入理解这两种机制,并通过实际的代码示例和注释来加深理解。 首先,让我们讨论...

    Java抽象类和抽象方法

    在深入探讨Java抽象类与抽象方法之前,我们首先需理解其基本概念以及它们在面向对象编程中的作用。Java作为一种广泛使用的编程语言,提供了多种机制来实现代码的复用性和灵活性,其中抽象类和抽象方法是关键特性之一...

    Java 抽象类

    子类继承抽象类时,必须提供抽象方法的具体实现,除非子类本身也是抽象类。如果子类没有实现所有抽象方法,那么子类也必须声明为抽象的。 4. **final类与抽象类** `final`关键字用于防止类被继承,而抽象类是设计...

    Java中抽象类的学习总结

    - **子类的抽象方法实现**: 当子类继承抽象类时,如果未实现所有抽象方法,则子类也必须声明为抽象类。 - **抽象方法的重写**: 子类可以通过`@Override`注解来明确指出正在重写抽象方法。这有助于编译器检查方法签名...

    Java实例化一个抽象类对象的方法教程

    总的来说,虽然Java中的抽象类不能直接实例化,但我们可以通过继承并实现其抽象方法,或者利用字节码工具和注解处理器在运行时或编译时动态生成新的类来间接达到实例化抽象类的目的。这样的设计允许我们创建更加灵活...

    D10继承,抽象类.zip_java继承_抽象类

    Java继承具有单继承的特点, 每个子类只有一个直接父类. Java的继承通过extends关键字实现. 实现继承的类被称为子类. 被继承的类被称为父类. 父类和子类的关系, 是一种一般和特殊的关系. 例如水果和苹果的关系, ...

    Java抽象类和接口和继承之间关系

    "Java抽象类和接口和继承之间关系" Java抽象类和接口是两种不同的概念,它们之间存在着继承关系。在Java中,抽象类(abstract class)和接口(interface)都是用来描述对象的行为和状态的,但它们之间有着明显的...

    详细解析Java中抽象类和接口的区别

    - **抽象类**:继承抽象类使用`extends`关键字。 - **接口**:实现接口使用`implements`关键字。 这反映了两者在概念上的不同定位:抽象类强调的是“是什么”的关系(例如,狗是动物的一种),而接口强调的是“能做...

    \\java类、抽象类、接口、继承和对象解析 .doc

    Java 类、抽象类、接口和继承是面向对象编程的核心概念,它们构成了 Java 语言的基石。在 Java 中,类是用来封装数据和行为的结构,而对象则是类的实例,具有具体的属性和行为。 1. **类与对象的区别** 类是模板...

    java抽象类与接口区别

    ### Java抽象类与接口的区别 #### 一、引言 在Java编程中,抽象类(Abstract Class)与接口(Interface)都是实现抽象的关键工具。它们各自有着独特的优势和适用场景,掌握这两者的区别有助于开发者更好地设计系统...

    JAVA设计模式(抽象类与适配器模式)

    今天我们要探讨的是JAVA设计中的两个重要模式:抽象类与适配器模式。 首先,我们来理解一下“抽象”。抽象是面向对象编程的核心概念之一,它帮助我们处理对象的复杂性。在Java中,抽象通常通过抽象类来实现。抽象类...

    java利用接口和抽象类改写求圆的面积和梯形的面积.docx

    接口和抽象类都可以包含抽象方法,这些方法在实现接口或继承抽象类的具体子类中必须被实现。 尽管在一定程度上接口和抽象类看起来非常相似,甚至在某些场景下可以互换使用,但实际上它们在设计理念上存在显著差异。...

    基于Java抽象类和接口实现疯狂动物城

    本项目主要包括项目开发环境搭建、不同功能的类的设计、抽象类的设计、接口的设计、及其继承抽象类重写和接口实现类等具体功能的实现。 ●工程项目搭建与游戏初始化功能实现(2学时) ; ●动物城成员列表与动物信息...

    宠物系统(java抽象类)

    本系统以Java为编程语言,它利用了抽象类来定义宠物的基本属性和行为,使得我们可以方便地创建各种不同类型的宠物,如狗、猫或其他动物。 在Java中,抽象类是一种不能被实例化的特殊类,它用于定义一类对象的通用...

    浅析Java抽象类和接口的比较

    1. 继承抽象类意味着类与抽象类之间存在is-a关系,表示一个类是另一个更通用类的特例。而实现接口意味着类与接口之间存在has-a关系,表示类具备了接口定义的能力或特性。 2. 抽象类可以提供默认实现,这在接口中是...

    java 抽象类与接口的区别

    在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们都用于实现多态性,但各自具有不同的特点和应用场景。了解并熟练掌握它们的区别对于编写高质量的Java代码至关重要。 首先,抽象类是一种不能被...

    Java源代码:抽象类和接口

    同时,一个类可以继承多个抽象类,但只能有一个父类(多重继承不支持,因为Java是单继承的)。 接下来,我们来看接口。接口在Java中是一种完全抽象的类型,它只包含常量和抽象方法。接口使用`interface`关键字声明...

    Java中抽象类和接口的区别与作用详解

    ### Java中抽象类和接口的区别与作用详解 #### 一、引言 在Java编程语言中,`abstract class`和`interface`是两种用于定义抽象类的重要机制。这两种机制不仅支持了Java的强大面向对象特性,而且也在实际开发过程中...

Global site tag (gtag.js) - Google Analytics