方法的重写Override
1. 重写的方法不能比被重写的方法具有更严格的可见性,即访问权限
多态
1. 子类继承了父类,继承时多态的基础
2. 父类的引用指向了子类的对象
3. 子类的方法重写了父类的方法
4. 通过父类的引用区调用哪些被重写的方法,JVM将在运行时确定究竟调用哪个方法,是哪个子类的方法(同一个方法调用,有可能调用到的真正方法不一样,产生了多态性)
编译时,无法确定参数类型是什么,通过它能调用的什么方法,只有在运行时才能确定,即动态绑定
构造方法
1. 构造方法可以重载
2. 子类的构造方法必须先调用父类的构造方法
3. 如果没有在子类中显示调用父类的构造方法,编译器将默认添加super(),以便调用父类无参的构造方法
子类调用构造方法,必先调用父类的构造方法。如果子类不显式调用父类的构造方法,编译器会自动添加super(),调用父类无参构造方法
动态绑定和静态绑定:
动态绑定:
1. 虚拟机运行时才能确定要调用的方法、变量究竟是哪个类的
2. this 是动态绑定的,this指向真正调用的方法
静态绑定:
1. 编译时就可以确定调用哪个类的方法、变量
私有成员,私有变量和方法
静态成员,静态成员和方法
2. private方法和static方法是静态绑定的
3. super是静态绑定的
类的初始化顺序
1. 父类静态变量和代码块
2. 子类静态变量和代码块
3. 父类实例变量和构造方法
4. 子类实例变量和构造方法
垃圾回收
1. 当一个对象不再被任何其他对象引用,垃圾回收器(一个后台线程)会在适当的时候将对象销毁
2. 当对象被回收的时候,如果重写了finalize()方法(Object类的protected方法),这个方法将被执行。一般用不到
3. 可显式调用System.gc()来回收垃圾,但JVM不一定执行垃回收圾操作
接口
1. 客户用来描述需求的
2. 由一系列功能规格组成,即没实现的方法
3. 不描述容易发生变化的东西,接口中不体现变化的东西,变化交给实现类实现
抽象类
1. 包含一个或一个以上抽象方法的类
2. 不能被实例化
3. 一个抽象类不一定包含抽象方法
4. 抽象方法不能定义为private,一般定义为protected
相关推荐
易语言面向对象学习 1 一.枯燥的理论 2 1.对象和类 2 2.类的“成员”与“方法” 2 3.实例化 2 4.继承 3 二.牛刀小试 3 1.定义一个类,生成实例对象 3 2.“_初始化” 与 “_销毁” 5 三.一个更丰富的“员工...
面向对象编程是计算机语言的一种先进的编程模式,在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程...
面向对象是目前最流行的一种程序设计和实现思想,无论你是从事企业级开发、互联网应用开发,还是手 机软件开发,都会使用到面向对象的技术;主流的编程语言中,C++,Java,C#,PHP,Python等都是支持 面向对象的语言;...
面向对象概要设计模板 面向对象设计是一种软件设计方法,它强调对象之间的交互和协作,以达到软件系统的高内聚、低耦合的目标。在软件设计中,面向对象设计方法可以帮助开发者更好地理解系统的需求和行为,从而提高...
本教程“实用面向对象软件工程教程”旨在深入探讨面向对象分析(OOA)和面向对象设计(OOD)的关键原则,帮助开发者构建高质量、可维护的软件系统。 在面向对象分析阶段,我们首先理解问题域,识别出关键实体和它们...
面向对象编程(Object-Oriented Programming,简称OOP)是一种重要的编程范式,它基于“对象”的概念,通过封装、继承和多态等核心特性,实现了代码的复用和模块化,极大地提高了软件开发的效率和可维护性。...
Python 是一种面向对象的解释型语言,面向对象是其非常重要的特性。《Python 3面向对象编程》通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念...
详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。本书使用最常见的技术和方法,通过一个贯穿全书的案例分析,对面向对象的软件开发过程和使用面向对象技术的编程过程进行了...
面向过程、面向对象、面向组件、面向服务软件架构的分析与比较 软件开发历程与架构演进 软件开发从汇编语言、过程式语言、面向对象、面向组件发展到面向服务,这一进程不仅反映了编程技术的不断进步,更是软件工程...
面向对象分析(Object-Oriented Analysis,OOA)是软件工程中的一种重要方法,它着重于从实际问题出发,抽象出问题域内的对象及其相互关系,以构建问题域模型。在“软件工程-张海藩编著--面向对象分析实验报告”中,...
《面向对象软件工程》 作者:Stephen.R.Schach 学校:(美)范德比尔特大学 书名原名:Objected-Oriented Software Engineering 目录: 第一部分 面向对象软件工程简介 第一章 面向对象软件工程的范畴 第二章 ...
本书内容由浅入深,紧密结合实际,利用大量典型实例,详细讲解Java面向对象的编程思想、编程语法和设计模式,介绍常见Java类库的用法,总结优化 Java编程的各种宝贵经验,深入阐述Java虚拟机执行Java程序的原理。...
借助于漫画展示的形式,面向对象的简、由类创建一个对象的方法、类的编写与对象的创建、类的构造函数、类的方法、修饰符、Java中的封装/继承/多态等特征、Java中的线程、用Java创建一个小世界、多线程共享数据,以及...
C++是一种强大的编程语言,以其面向对象特性而闻名,它结合了过程化编程和面向对象编程的优势。在“C++面向对象程序设计教程——课件PPT”中,我们可以深入学习这一主题,由陈维兴和林小茶编著,清华大学出版社出版...
### 面向对象JavaScript精要 #### 一、书籍概览 本书《面向对象JavaScript精要》由Nicholas C. Zakas编写,是面向对象编程领域中的权威指南之一,尤其针对JavaScript这门语言。作者深入浅出地介绍了面向对象编程的...
Matlab面向对象编程是一种在MATLAB环境下通过面向对象的方法来组织和构造程序代码的技术。面向对象编程(OOP)的基本特征包括抽象、封装、继承和多态。以下是根据给定的文件信息,对这些知识点的详细解释: 1. 抽象:...