Java基础之三、类的特性和接口

类的派生、多态、抽象类、接口

1:派生-extends

  派生就是继承已有类非私有的字段和方法等创建新的类,还可以添加、重写字段和方法;

  在类的派生中,构造函数不可以被继承;

  派生源的类-父类/基类/超类;派生的类-子类/派生类;

2:super(…)调用超类的构造函数,在子类构造函数的开头;

  super(…)和this(…)不能同时存在构造函数中,因为都必须在开始调用;

3:子类的构造函数中如果无显示调用超类构造函数,则会自动调用超类中的“不接收参数的构造函数”;

  X(……){super();}

4:在类中最好显性编写“不接收参数的构造函数”;

  虽然类会默认一个不接收参数的构造函数,但一旦定义带参数的构造函数,就不会默认,需要手工创建;

  避免子类未定义构造函数出错--第3点

5:超类和子类

6:超类和子类的实例引用

 向上引用仅会执行子类继承父类的 功能或重写 部分,向上引用无法调用子类独有的功能;

 如下图2部分

7:多态-派生类的价值

  重写(override)-重写定义一个与超类中的方法签名一样的方法。让超类方法无效。如果要调用使用supper.方法名显示调用

  引用类型转型

  向上转型-超类类型的变量引用子类实例

  

  向下转型-显示进行类型转型,比较常用的是对Object向下转型(类型)object;

  

8:注解[email protected](编译器可以读懂的注释)

  告知程序重写超类的方法,而不是重写添加新的方法,避免出错

  格式:@Override 方法名称

9:继承和访问权限

  成员(字段、方法、类、接口)可以被继承,私有成员、实例初始化器、静态初始化器、构造函数不会被继承;

  final类不能派生,final方法不能被重写;

  当重写方法时,必须赋给与超类中方法相同或小于的访问权限修饰符

  不可以将超类的类方法重写为实例方法

  

10:修饰符顺序

11:抽象类

  无法创建或者不应该创建实例;

  无法定义方法的主体。其内容应该在子类实现;   

12:抽象类和方法定义

  abstract 类名{};

  abstract 方法名();;

13:抽象类中可以包含非抽象方法(抽象类的超类也是Object,Object类中有非抽象方法例如toString),但包含抽象方法的类一定是抽象类;

  子类继承抽象类,要么实现抽象类全部方法,要么子类也是抽象类;

  抽象类的非抽象方法重写为抽象方法比如toString方法

  

14:文档注释和javaDoc-这部分网上搜索即可

15:接口-接口是引用类型的一种

  接口声明:interface

  接口所有方法都是public且abstract

  

  接口实现:implements,接口实现的方法必须是public修饰符;接口类型的变量可以引用实现类的实例

  接口实现类必须实现接口所有的方法,否则实现类定义为抽象类;

  接口可以持有常量---public\static\final字段,即为不可更改的数值的类变量

  

  接口本身的访问修饰符与类相同-可以加public修饰符

  当类声明同时存在extends 和 implements一定要先写extends,一个类可以实现多个接口

  接口也可以进行派生新的接口

  

  

  

  

原文地址:https://www.cnblogs.com/sun-null/p/12287163.html

时间: 2024-10-16 09:40:47

Java基础之三、类的特性和接口的相关文章

Java基础知识笔记(七:接口、变量作用域和参数传递)

一.接口 Java语言不允许一个子类拥有多个直接父类,即任何子类只能有一个直接父类.但允许一个类实现多个接口,即在定义类的接口名称列表中可以包含1个或多个接口名称,从而实现多重继承的特性.接口的定义格式如下: [接口修饰词列表] interface 接口名 [extends 接口名称列表] { 接口体 } 接口修饰词列表可以包含0个.1个或者多个接口修饰词.如果存在多个接口修饰词,则在相邻两个接口修饰词之间采用空格分隔开.接口修饰词包括:public.abstract和strictfp等.在同一

Java基础-Class类

java的Class类是java反射机制的基础,通过Class类我们可以获得关于一个类的相关信息,下面我们来了解一下有关java中Class类的相关知识! java.lang.Class是一个比较特殊的类,它用于封装被装入到JVM中的类(包括类和接口)的信息. 当一个类或接口被装入的JVM时便会产生一个与之关联的java.lang.Class对象,可以通过这个Class对象对被装入类的详细信息进行访问. 简单的说,获取某一个类所对应的Class对象可以通过如下三种途径: 1. Object的ge

JAVA基础(1)抽象类和接口

深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然.今天我们就一起来学习一下Java中的接口和抽象类.下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.

java基础---工具类

1.Object(上帝类/祖先类) Object是所有类的父类:可以是直接父类,也可以是间接父类 直接父类:如果一个类没有显示的extends关键字为显示指定父类,则该类默认继承Object父类. 间接父类:学生类继承了people类,people类默认继承Object类,这时候就为间接父类. Object类常用方法 equals():比较俩个对象的地址 getClass():返回运行时对象   ---百度了解 toString():字符串形式        ---百度了解 线程的 finali

Java入门(一)——类、抽象类和接口

Java是一门面向对象语言,可以看出"对象"在Java有着举足轻重的位置.那么,"对象"从何而来呢?那必须是丈母娘造出来的,下面我们就先来说说这个丈母娘--类. Java类 对象: 对象具有状态和行为. 例如:一只狗的状态有:颜色,名称,品种,它的行为有:摇尾巴,吠叫,吃东西. 对象是类的实例 类: 类是一个模板,它描述一类具有相同状态和行为的对象.比如人类,都具有思考这个行为,而植物没有. 类可以看成是创建Java对象的模板,下面简单定义一个类: public c

Java实验3 类的多态性和接口

实验3 类的多态性和接口 一.实验目的 理解面向对象的多态性.理解接口和实现接口的类的关系,掌握一个类实现多个接口的声明和使用方法. 二.实验内容 1.程序理解: 接口的应用 //接口的应用 //定义一个PCI接口: interface PCI { void start(); // 定义抽象方法start() void stop(); // 定义抽象方法stop() } // 定义 NetworkCard类实现PCI接口 class NetworkCard implements PCI { //

JavaSE8基础 具体类实现多个接口 简单示例

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: //接口 interface PersonTrain{ //只要函数的声明,不要具体实现 public abstract void writeBook(); } interface JavaerTrain{ public abstract void repairComputer(); } //抽线类实现一个接

Java基础-File类篇、递归篇

1. File类 1.1 File类介绍 ? java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 1.2 构造方法 语法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例. public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例. public File(File parent, Str

Java基础-异常类--异常概念、一般格式、Throwable类的一些方法

简介: 1.异常的概念 异常:问题-->不正常情况--->封装成对象 ; java对不同的不正常情况进行描述后的对象体现; 对于严重的异常,java通过Error类进行描述-------一般不编写针对性的代码对其进行处理 对于非严重可处理的异常的,java通过Exception类进行描述--可使用针对性的代码进行处理 体系: Object<--Throwable<--Error/Exception 2.一般格式 try{ * * } catch(异常类 变量){ * 处理问题* }

Java基础—面向对象的三大特性

面向对象有三大特性分别是继承.封装和多态. (1)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类).派生类可以从它的基类那里继承方法和实例变量,并且子类可以修改或增加新的方法使之更适合特殊的需要. (2)封装:封装是指将客观事物抽象成类,每个类对自身的数据和方法实行保护.类可以把自己的数据和方法只让可信的类或者对象