一个对象只能有一种确切类型
虚方法调用--后期绑定
instance判断变量的类型
public boolean equals(Object o){
if(o instanceof Bird){
Bird bird = (Bird)o;
//调用 Bird的方法
bird.fly();
}
}
所谓造型就是java对象间的类型转换
java的对象造型可以分为两种情况:
--自动造型
--强制造型
在造型前可以使用instanceof 运算符测试一个对象的类型
o instanceof SuperMan
o instanceof Man
对象的造型只用在有继承关系的对象之间
抽象类可以有构造器,既可以有抽象方法,也可以有实现的方法,接口除了抽象方法,没有其
他方法,接口可以继承多个接口,抽象类只能继承一个父类
接口较灵活,应多用接口,少用抽象类
能够进行相互转型的类或对象必须位于同一棵继承树上。编译器会检查转型的合理性。
public class Animal{
protected int legs;
protected Animal(int legs){
this.legs = legs;
}
}
public class Spider extends Animal{
public Spider(){
super(8);//由于父类未提供默认的构造函数,所以必须调用父类的有参构造器
}
}
多态的实现条件:1:有继承;2:有重写;3:父类引用指向子类对象
调用构造函数必须是构造器的第一条语句,在普通方法中,不能调用构造器
内部类
允许一个类的定义出现在另一个类中,将处于另一个类中的“寄生类”称为“内部类”,也称为“类属类“
内部类其实看成是外部类的一个属性。
异常:
不要指望你的程序永远不会出错
java程序运行过程中所发生的异常事件可分为两类:
--错误:jvm系统内部错误,资源耗尽的呢个严重情况
--异常:其他因编程错误或偶然的外在因素导致的一般性问题,例如:
对负数开平方根
空指针访问
试图读取不存在的文件
网络连接中断
java中除以零:
1/0 -1/0 0/0 均产生异常;
1.0/0 -1.0/0 0.0/0 分别为Infinity -Infinity NaN
1/0.0 -1/0.0 0/0.0 分别为Infinity -Infinity NaN
1.0/0.0 -1.0/0.0 0.0/0.0 分别为Infinity -Infinity NaN
可见,当为除零时两个都是整数时会发生异常,有一个是double时分别为Infinity -Infinity NaN
可以用类似语句来检测无穷大 if (Double.isInfinite(e)) System.out.println("检测到无穷大");
double c = 1.0, d = 0;
if(Double.isInfinite(c / d))
System.out.println("infinity");
分享到:
相关推荐
### Java基础复习知识点 #### 一、Java简介 1. **Java语言起源**:Java语言由Sun Microsystems公司在1991年开始研发,并于1995年正式发布。其最初的目标是为了开发一种能够用于家用电器的编程语言。随着时间的发展...
复习Java,首先需要理解其基本概念和技术要点。 一、Java基础知识 1. Java语言的特点: - 跨平台性:Java代码通过JVM(Java虚拟机)实现“一次编写,到处运行”。 - 面向对象:Java支持类、对象、封装、继承、...
这份"Java基础核心总结_副本"的资料,很可能是对Java语言基础知识的全面梳理,旨在帮助学习者或面试者巩固和复习Java的核心概念。下面将根据标题和描述,结合常见的Java基础知识,来展开详细讲解。 一、基础语法 ...
2. **泛型**:泛型提供了一种在编译时检查类型安全的方法,允许在类、接口和方法中使用类型参数,减少强制类型转换。 3. **枚举**:枚举是Java中的一种特殊类,用于定义一组固定的常量,提高了代码的可读性和安全性...
这份“JAVA基础复习资料”涵盖了初学者需要掌握的核心概念,也是经验丰富的开发者回顾基础的宝贵资源。下面,我们将深入探讨这10个章节的主要知识点。 1. **第一章:Java简介** Java的历史、设计哲学以及其在软件...
本篇复习要点主要涵盖了Java语言的基础知识,包括其特点、运行机制、程序开发流程、程序分类以及语言基础,如关键字、数据类型、运算符、语句结构等。 1. **Java语言特点**: - **简单**:Java设计时考虑了C++的...
这份“Java基础知识总结 - 超详细篇收藏”压缩包包含了关于Java编程的基础知识,是学习和复习Java语言的理想资源。以下是对其中可能涵盖的知识点的详细解释: 1. **Java环境搭建**:学习Java的第一步是安装JDK...
总的来说,Java学习涉及广泛的语法和概念,包括但不限于基本语法、面向对象编程、类和对象、继承、多态、异常处理、集合框架、输入/输出流以及Java API的使用。JavaScript虽然在标签中提及,但根据文档内容,这里...
9. **泛型**:泛型是Java 5引入的新特性,用于增强类型安全,减少类型转换,并允许编译器进行更严格的检查。理解和运用泛型,可以编写出更清晰、更安全的代码。 10. **枚举与注解**:枚举提供了一种安全的方式来...
在“硅谷java基础每日复习eDiary”这个资源中,我们涵盖了Java编程语言的基础和高级概念,这将有助于深入理解并提升Java编程技能。以下是基于描述中提到的两个文件——"Java基础每日复习笔记-JavaSE基础阶段.edf"和...
这份"Java复习资料"包含了从第一章到第十章的详细学习内容,覆盖了Java语言的基础到高级特性,对于准备Java考试或者提升编程技能的学员来说非常有价值。 1. **第一章:Java简介** - Java的历史和发展 - Java的...
1. **基础语法**:Java的基础包括变量、数据类型(如整型、浮点型、字符型和布尔型)、运算符、流程控制(if-else、switch、for、while循环)、数组和字符串。 2. **面向对象**:Java是纯面向对象的语言,涵盖类、...
### Java编程基础知识点详解 #### 第一章 Java 语言概述 **1. Java 平台的工作机制** Java 是一种能够跨平台运行的语言。其工作机制基于“编写一次,到处运行”的理念。具体而言,Java 源代码文件(.java 文件)...
这份笔记涵盖了从基础概念到高级特性的全面内容,是学习和复习Java知识的理想工具。 1. **Java简介** Java是一种跨平台、面向对象的编程语言,由Sun Microsystems(现为Oracle公司)于1995年推出。它的“一次编写...
1. **Java基础知识**:复习题可能涵盖了Java的基础语法,如变量、数据类型、运算符、控制结构(if-else、switch、for、while等)、方法的定义和调用、类与对象的概念、封装、继承和多态等。答案解析能帮助你快速校验...
掌握这些基本概念和规则是编写有效Java代码的基础。在实际编程中,还需要理解类的继承、多态、接口、异常处理、集合框架等更高级的主题。通过不断练习和项目实践,可以进一步提升Java编程技能。
### Java秋招复习资料——操作系统基础 #### 一、操作系统基本特征 1. **并发**:并发是指在宏观上能够同时运行多个程序的能力。而并行则是指在同一时刻能够执行多个指令,通常需要硬件的支持,比如多核心处理器或...
这份"Java基础知识点复习资料"涵盖了Java学习的核心概念,旨在帮助开发者巩固基础,提升技能。下面将对其中可能涉及的重要知识点进行详尽的阐述。 1. **Java语法基础** - **数据类型**:Java分为基本数据类型(如...
以上是Java基础学习的主要内容,通过思维导图的方式,我们可以清晰地看到各个知识点之间的关系,方便我们进行有条理的学习和复习。在实际学习过程中,建议结合实例操作,加深对每个概念的理解,并逐步提升编程能力。
### Java复习知识点详解 #### 第一章:Java基础概念 - **Java语言的执行方式**: - Java是一种编译型语言,同时也是一种解释型语言。首先,源代码需要通过编译器转换成字节码(.class文件),然后由Java虚拟机...