类的继承、接口和事件机制
一:类的继承
1.在java中为了提高代码的重用性及程序的扩展性,由此提出了类的继承。那么,继承的基本格式是什么呢?
public class 子类名(又名 超类)extends 父类名(有名 基类){
}
其中我们需要知道的是:类继承的关键字---->extends。要实现继承的类即为子类,被继承的类则被称为父类(子类只能 继承一个父类,即为单根继承)。 当然,既 然存在继承,那么我们运用继承的时候需要注意哪些条件呢?
(1)子类和父类在同一个包的情况下:
private的属性和方法以及父类的构造方法不能被子类继承
(2)子类和父类不在同一个包下:
a.只有共有的属性和普通方法能被继承。
b.如果是在子类中调用,那么protected的属性和普通方法能被子类继承。
2.方法重写
当子类继承了父类而此时要在子类中改变父类中的方法,这个时候就要用到方法重写了。
注意:
(1)必须是存在继承关系
(2)方法的返回数据类型、方法名、参数个数、参数类型、参数顺序都必须个父类的完全相同
(3)方法的访问修饰符只能大于或等于父类的访问修饰符类型(public > protected > 默认的 >private)
(4)如果子类重写了父类的方法,当实例化的对象调用此方法时会优先执行子类重写的方法
3自动转型
自动转型指的是子类对象会自动转变为父类对象,例:
public static void main(String[] args){
Student stu=new USstudent();//USstudent 自动转换成父类
stu.setName("张三");
}
这里的Student是父类,USstudent 是子类,stu.setName("张三");中stu调用的是子类USstudent 中的方法
注:(1)若子类中重写了父类的方法,那么调用的就是子类中的实现,否则调用父类中的方法
(2)当子类对象自动转换成父类类型时,通过父类类型变量的引用,只能调用已在父类中定义的方法,不能调用子类中自己的方法
4多态
多态是指相同类型的对象调用相同的方法时,由于继承和重写的机制,得到的结果不一定相同,是对象的不同表现形式
二:接口和事件机制
*******接口*******
1、定义的格式:
public interface 接口名 extends 接口名,... {
//定义常量的格式:
public static final 数据类型 常量名 = 值;
//定义抽象方法的格式:
public 返回值数据类型 方法名(参数类型 参数名,...);
}
注意:
(1)定义接口的关键字是 interface
(2)常量名的每一个字母都必须要大写
(3)抽象方法:接口中的方法只能定义不能实现!且访问修饰符都必须是public类型的
(4)接口是一种特殊的类,接口可以继承接口,并且可以同时继承多个接口
(5)接口不能实例化对象(接口内部的方法只能定义不能实现)
2、接口的实现
public class 类名 extends 类名 implements 接口名,... {
//实现接口中所有的抽象方法
}
注意:
(1)类可以先继承一个另一个类后再去实现一个或者多个接口
(2)类implements 接口后必须实现接口中所有的抽象方法
3、接口和类的区别
(1)接口中只能定义抽象方法和常量;类中除了不能定义抽象方法外,其他的都可以定义。
(2)当类去继承(实现)接口时,可以同时实现多个接口;类去继承类时只能继承一个类(单继承).
(3)接口定义的关键字是interface;类定义的关键字是class.
(4)接口可以继承一个或多个接口;但是类只能继承一个类。
(5)接口不能用来实例化对象;类可以用来实例化对象。
4、抽象类的定义和继承
格式:
public abstract class 抽象类名 extends 类名或抽象类名 implements 接口名,... {
//抽象类中可以定义类中的任何属性和方法
//接口中能定义的在抽象类中也可以定义,但是抽象方法的格式有所不同:
public abstract 返回值数据类型 方法名(参数类型 参数名,...);
}
抽象类就是类和接口的集合。
注意:
(1)如果类去继承抽象类,那么必须要实现抽象类中所有的抽象方法
(2)抽象类也不能用来实例化对象
(3)抽象类实现接口后,不是必须要实现接口中的抽象方法,因为抽象类本身就存在抽象方法
(4)抽象类可以继承类或者抽象类,但是只能继承一个类或者一个抽象类
(5)抽象类可以实现一个或多个接口
*******事件机制*********
1、事件源
所有的组件或容器类都可以作为事件源
2、事件类型
给事件源设定某一种事件的类型,当动作发生时会自动的去捕获到相应的动作,给事件源添加一个监听器(addActionListener();),再绑定一个事 件源的对象
3、执行过程
(1)给事件源添加相应的监听器,并绑定事件的处理对象
(2)当在事件源上发生一个事件时,监听器会自动捕获到发生事件的动作
(3)监听器方法会搜集事件源的相关信息,并将这些信息封装到事件对象中,然后自动调用处理事件的方法
(4)执行方法中的代码
分享到:
相关推荐
Java 类、抽象类、接口和继承是面向对象编程的核心概念,它们构成了 Java 语言的基石。在 Java 中,类是用来封装数据和行为的结构,而对象则是类的实例,具有具体的属性和行为。 1. **类与对象的区别** 类是模板...
Java实验报告三,声明一个shape接口,计算圆,矩形,三角形的面积和周长。
在Java编程语言中,接口的实现与类的继承是两个...综上所述,Java中的接口实现与类继承为开发者提供了强大的工具来组织和复用代码。正确理解并灵活运用这两种机制,可以帮助开发者设计出更加健壮和可维护的软件系统。
6. 接口主要用于回调机制,而继承主要用来扩展和复用代码。 7. 实现接口的类中的接口方法默认为非虚的,而抽象类中的具体方法默认为虚的。 通过这些理解,我们可以更好地利用抽象类和接口来设计灵活且可扩展的软件...
Java中的继承和接口是面向对象编程的关键特性,它们在软件设计中扮演着至关重要的角色,实现了代码的重用和类的层次结构。 继承是Java中创建新类的一种方式,它允许一个子类(SubClass)从一个已存在的父类...
在面向对象编程中,继承是一种使一个类继承另一个类的属性和方法的机制,允许子类扩展或重写父类的行为。接口则是一种定义行为规范的方式,它仅包含抽象方法的声明,不允许实现具体的方法,但允许多个类实现同一个...
在面向对象编程中,类的继承是实现代码复用和扩展的重要机制。类的继承允许我们创建一个新的类(子类),这个新类基于已存在的类(超类或父类)。子类继承了超类的实例变量和方法,这意味着它可以访问和使用这些共享...
在C#编程语言中,接口(Interface)与继承(Inheritance)是实现代码复用与扩展性的两种重要机制。对于初学者来说,理解这两种概念及其之间的区别是非常重要的。 #### 一、接口定义 接口是一种完全抽象的类型,它...
在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们允许我们定义规范,供其他类去实现或继承。在这个练习中,我们将深入理解这两种机制,并通过实际的代码示例和注释来加深理解。 首先,让我们讨论...
在面向对象编程中,类继承是一种机制,允许一个类(子类或派生类)从另一个类(父类或基类)继承属性和方法。AS3的类继承树展示了所有内置类之间的层次结构,包括DisplayObject类家族(用于图形渲染)、...
Java 编程语言提供了两种机制来实现面向对象编程的多态性:接口和抽象类。这两种机制使得 Java 应用开发具有灵活性和敏捷性。 抽象类 抽象类是一种特殊的类,它不能被实例化,不能被直接使用,而是作为其他类的...
其中最常用的两种机制是抽象类(abstract class)和接口(interface)。这两种机制虽然在某些场景下可以互相替代,但它们在设计原则、实现细节以及应用场景上存在明显的区别。了解这些差异有助于开发者在面对具体...
通过这个实验,学生能够深入理解Java中的继承机制,如何通过重写父类方法实现子类特有功能,同时掌握接口的使用,理解其在定义类行为规范中的作用。此外,实验也强调了代码复用、面向对象设计原则和多态性的实际应用...
最基础的QWidget类为所有窗口部件提供了一种标准的接口和事件处理机制。它的子类包括了各种功能的窗口部件,例如QMainWindow、QMenuBar、QToolBar和QStatusBar等,它们分别用于创建主窗口、菜单栏、工具栏和状态栏。...
在PHP编程语言中,类继承和接口继承是两种不同的机制,它们都用于实现代码的复用和组织。这里我们将详细对比这两种继承方式。 首先,PHP类继承是面向对象编程的一个核心概念,它允许子类(派生类)从父类(基类)中...
**Qt5类继承关系图详解** Qt5是一个强大的跨平台应用程序开发框架,广泛应用于桌面、移动设备和嵌入式系统的GUI设计。...因此,熟悉和掌握Qt5的类继承体系对任何希望在该领域深入的人来说都是非常有价值的。
QT4中的类继承关系是理解其内部工作原理和高效开发的关键。 在QT4中,类的继承关系构建了一个庞大的类层次结构,使得开发者可以方便地利用已有的功能,同时扩展自定义的功能。核心类如`QObject`是许多其他类的基础...
在面向对象编程中,类继承是一种机制,允许一个类(子类)继承另一个类(父类)的属性和方法。在QT5中,这种继承关系形成了一个庞大的类体系,使得开发者可以利用已有的基础类,快速创建功能丰富的用户界面和应用...
- 类在继承接口时,必须定义接口中所有抽象方法的具体实现。 - 一个类可以通过extends关键字继承一个父类,通过implements关键字实现一个或多个接口。 通过抽象类和接口的定义和实现规则,我们可以看到它们各自在...