`
jianchen
  • 浏览: 344799 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java基础复习(11)--final关键字和抽象类

阅读更多

final 关键字
final--用于类,方法,变量前
final--不可被继承,如java.lang.Math就是一个final类,不可被继承
final变量--在初始化后不可改变变量值,用于常量定义。如果final变量是引用变量,则不可以改

变它的引用对象,但可以改变对象的数据(属性)
final方法--不可被覆盖

abstract 可以使用abstract来修饰一个类或者方法
用abstract修饰的类表示这个类是一个抽象类,用abstract修饰的方法表示这个方法是一个抽象

方法
抽象类不能被实例化
抽象方法是只有方法声明,而没有方法的实现的方法
抽象类中不一定必须有抽象方法
一个普通类中不可以有抽象方法。
抽象类可以有构造方法。(相当于抽象类的构造器是私有的,只有子类可以调用)

充:
抽象类并非一定需要抽象方法,但是没有抽象方法,抽象类就没有存在的必要
在以下任一条件成立时,类必须定义成抽象类:
--类中至少有一个抽象方法
--类继承了父类中的抽象方法,但是至少有一个抽象方法没实现
--类实现了某个接口,但没有全部实现接口中的方法

安全,加密,破解不宜用面向对象来做

 

树的遍历(中序遍历)

printTree(TreeNode root){
if(root.left!=null)
printTree(root.left);
System.out.println(root.data):
if(root.right!=null)
printTree(root.right);
}


接口是方法和常量值得定义的集合。
接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义。而没有变量和方法的实现


抽象类和接口:
抽象类表达类之间的关系,也表达了类的功能,一个类只能有一个父类
接口表达了类的功能,不体现类的继承关系,一个类可以实现多个接口
抽象类和接口都可以使用多态,提供代码的灵活性

C++多继承,当父类有同样签名的方法,但实现不一样,子类就不知道到底调用哪个方法。
java干脆直接限制只能单继承,它的“多继承”利用接口来实现。

分享到:
评论

相关推荐

    JAVA基础--复习笔记.pdf

    本文档提供了JAVA基础知识的复习笔记,涵盖了JAVA的基础概念、数据类型、运算符、控制流程、类和对象、继承、多态、抽象类和接口等方面的知识。 一、数据类型 在JAVA中,有以下几种基本数据类型: * 整数类型:...

    JAVA基础笔记以及关键字整理.rar

    这份“JAVA基础笔记以及关键字整理.rar”压缩包包含了全面的Java基础知识和关键字的详细讲解,对于初学者和有一定经验的开发者来说,都是一个极好的学习和复习资源。 首先,Java的基础知识涵盖了许多方面。包括但不...

    Java复习题-(含答案)教程文件.pdf

    Java复习题-(含答案)教程文件.pdf 本资源文件是一个 Java 复习题集,涵盖了 Java 基础知识、Java 语法、Java 面向对象编程等方面的知识点。下面是从该文件中提取的相关知识点: 1. Java 的历史:Java 是 1995 年由...

    Java的考试复习资料整理

    - **final关键字**: - 修饰变量时,表示该变量不可更改。 - 修饰方法时,表示该方法不可被重写。 - 修饰类时,表示该类不可被继承。 - **equals()与toString()方法**: - `equals()`用于比较对象的逻辑相等性...

    Java基础知识总结 - 超详细篇收藏.zip

    16. **Java内存模型与并发**:理解Java内存模型(JMM)对共享变量的处理,以及volatile、synchronized和final关键字在并发编程中的作用。 17. **设计模式**:学习常见的设计模式,如工厂模式、单例模式、装饰者模式...

    思维导图-Java基础

    - **变量与常量**:声明、初始化和使用变量,理解final关键字用于创建常量。 - **运算符**:各种算术、比较、逻辑和位运算符。 - **流程控制**:if语句、switch语句、for循环、while循环和do-while循环。 - **...

    Java复习提纲-2009-5.doc

    final关键字用来防止类、方法或变量被继承或修改,而abstract类不能实例化,用于定义抽象方法。 Java中的继承遵循单根继承原则,所有类都间接或直接继承自Object类。子类可以覆盖父类的方法,但不能覆盖构造方法。...

    JAVA理论知识基础复习

    JAVA理论知识基础复习涵盖了JAVA语言的基础知识,包括构造方法、new关键字、方法的重载、特殊变量this、static定义常量、继承、方法的重写、特殊变量super、多态性、接口和抽象类的区别、内部类和异常处理等相关知识...

    Java程序设计技术-期末复习.ppt

    15. **抽象类和抽象方法**:抽象类是包含至少一个抽象方法的类,不能实例化。抽象方法没有具体实现,仅声明。例如,`abstract class AbstractClass { abstract void abstractMethod(); }` 错误纠正: - (1) 抽象...

    Java期末复习题 Java 期末 复习题

    6. **抽象类与接口的区别**:抽象类可以包含成员变量和部分方法实现,而接口只有方法声明。实现接口的类必须实现接口中的所有方法,而继承抽象类只需实现抽象方法。 7. **异常处理**:Java使用`try-catch-finally`...

    Java语言程序设计(一)复习资料--Java简答题.pdf

    通过上述知识点的罗列,我们可以看出文档内容是针对Java语言程序设计基础知识的复习和整理,包含了Java语法、数据类型、面向对象编程、类和对象、修饰符的使用、事件处理、图形用户界面编程、抽象类和接口定义,以及...

    JAVA复习题总汇-选择题含答案 (1).docx

    抽象类并不默认是public的;final类中的方法可以不用final修饰,但属性必须是final的。 6. Java中的标准输入/输出是通过输入输出流实现的,如`System.in`用于输入,`System.out`用于输出。但`System`类的方法全为...

    JAVA复习题(继承).doc

    在Java编程语言中,继承是面向对象编程的一个核心...以上是关于Java继承及相关概念的详细解释,包括类的继承、接口、抽象类、访问修饰符、方法覆盖等关键知识点。了解这些概念对于深入理解Java的面向对象编程至关重要。

    Java复习大纲

    Java复习大纲涵盖了从基础语法到高级特性的众多知识点,以下是基于描述和标签的详细复习内容: 1. **第一章:Java 文件命名与程序运行** - **文件命名**:Java源代码文件名必须与公共类(public class)的名字一致...

    JAVA语言程序设计重要复习题库

    - final关键字可以用于类、方法和变量,表示不能被继承、重写或重新赋值。 - Java中的数组是通过下标索引访问的,下标从0开始。 3. Java类的定义与继承 - Java中类的定义包含类名、类体和方法。 - Java支持单重...

    java期末复习试题.doc

    根据提供的文件信息,我们可以从中提炼...- **final 关键字:** 在Java中,使用`final`关键字可以声明常量,所以选项C是正确的。 以上就是从给定文件中提取并扩展的一些Java知识点,希望对理解和掌握Java编程有所帮助。

    《JAVA语言程序设计》期末考试复习资料.pdf

    通过上述内容,可以针对《JAVA语言程序设计》期末考试进行全面复习,重点理解Java的基础知识、面向对象的特性、异常处理机制、常用类库的使用等。注意,由于扫描文档的不准确性,部分内容可能需要结合实际的Java知识...

    JAVA-复习终结java复习资料

    ### JAVA-复习终结java复习资料 #### 一、数组长度属性 在Java中,所有数组都具有一种内置的属性——`length`,该属性用来表示数组中元素的数量。例如,对于一个整型数组`int[] arr = new int[5];`,`arr.length`将...

    Java考试复习重点请下载

    ### Java复习要点详解 #### 一、Java虚拟机(JVM)、JRE及JDK - **Java虚拟机(JVM):** - **定义:** JVM是Java Virtual Machine的缩写,可以将其理解为一个特殊的虚拟处理器,它以字节码(bytecode)作为指令集来执行...

    Java理论复习

    - **抽象类**:抽象类不能被实例化,它主要用于定义一些通用的行为和状态,供子类继承和实现。 - 特点: - 抽象类可以包含抽象方法(只有声明没有实现的方法)和具体方法(实现了的方法)。 - 子类继承抽象类时,...

Global site tag (gtag.js) - Google Analytics