java基础知识总结java基础知识总结ppt
第1章Java 语言基础知识

2
目录
1.1 Java语言与面向对象的程序设计 1.2 Java5和Java6的新特色 1.3 Java程序概述 1.4 基本数据类型与表达式 1.5 数组的概念 1.6 数组的创建和引用 1.7 本章小结
3
1.1 Java语言与面向对象的程序设计
• Java语言是一个面向对象的程序设计语言。 • 除了面向对象的特点以外,Java语言还在安全性、
19
1.3.1 Java开发环境(续)
• Java 平台
Java 程序 Java APIs
Java 虚拟机
计算机系统
• Java APIs (应用程序接口)
▫ 经过编译的,可在程序中使用的Java代码标准库。
• Java VM(虚拟机)
▫ Java 程序由Java虚拟机程序执行(或解释执行)。
1.3 Java程序概述
}
1.1 Java语言与面向对象的程序设计
8
1.1.1 面向对象的程序设计思想(续)
• 面向对象技术给软件发展带来的益处
▫ 可重用性 ▫ 可靠性
• 面向对象语言的基本特征
▫ 抽象和封装 ▫ 继承性 ▫ 多态性
1.1 Java语言与面向对象的程序设计
9
1.1.2 Java语言的特点
• 面向对象 • 安全性
▫ Servlet用到的包在J2EE的API中能找到 ▫ 所有的servlet都必须实现Servlet接口
1.3 Java程序概述
36
1.3.4 Servlet举例(续)
——例1-3
程序首先构建HttpServletRequest,并建立一个数据表 单;点击submit按钮后,servlet再次被调用,并产生一个 含有表单的网页。
Java概述获奖课件

3
1.1 Java旳诞生与发展
Java语言诞生于20世纪90年代早期,从它旳正式 问世以来,它旳迅速发展已经让整个Web世界发生 了翻天覆地旳变化。
2024/10/9
4
Java旳前身是SUN Microsystems企业开发旳 一种用于智能化家电旳名为Oak(橡树)旳语言, 它旳基础是当初最为流行旳C和C++语言。但是, 因为某些非技术上旳原因,Oak语言并没有得到 迅速旳推广。直到1993年,WWW(万维网)迅 速发展,SUN企业发觉能够利用Oak语言旳技术 来发明具有动态内容旳WWW网页,于是已受人 冷落了旳Oak语言又被重新旳开发和改造。于是, 便将改造后旳Oak语言更名为Java,即太平洋上 旳一种盛产咖啡旳岛屿旳名字。终于,在1995年, Java这个被定位于网络应用旳程序设计语言被正 式旳推出。
2024/10/9
21
END
2024/10/9
22
2024/10/9
5
伴随Java Servlet旳推出,Java在电子商务方 面开始崭露头角,最新旳Java Server Page(JSP) 技术旳推出,更是让Java成为基于Web应用程序 旳首选开发工具。Internet旳普及和迅猛发展, 以及 Web技术旳不断渗透,使得Java语言在当代
社会旳经济发展和科学研究中,占据了越来越主 要旳地位。
2024/10/9
6
1.2 Java语言旳特点
Java是一种跨平台、适合于分布式计算环境旳 面对对象编程语言。它具有旳特点诸多,如:简朴 性、面对对象、分布式、解释型、可靠性、安全性、 平台无关性、可移植性、高性能、多线程、动态性 等。下面简介了Java旳几种主要特征:
2024/10/9
Java从入门到精通(第3版)

7.1 面向对 象概述
7.2 类
7.3 类的构 造方法
7.6 对象
第1篇 基础知识
01
7.7 小 结
02
7.8 实 践与练
习
7 类和对象
第1篇 基础知 识
8 包装类
8.1 Integer
8.4 Character
8.2 Boolean
8.5 Double
8.3 Byte
8.6 Number
01
19.2 TCP程序 设计基础
19.3 UDP程序 设计基础
第2篇 核心技术
19 网络通信
19.4 小结
19.5 实 践与练 习
第2篇 核心技术
20 数据库操作
1
20.1 数据库基础知识
2
20.2 JDBC概述
3
20.3 JDBC中常用的类和接口
4
20.4 数据库操作
5
20.5 小结
6
20.6 实践与练习
3.4 运 算符
第1篇 基础知识
3 Java语言基础
3.2 基 本数据 类型
3.5 数 据类型 转换
3.3 变 量与常 量
3.6 代码 注释与编 码规范
第1篇 基础知识
01
3.7 小 结
02
3.8 实 践与练
习
3 Java语言基础
第1篇 基础知识
4 流程控制
01
4.1 复合语 句
05
02
4.5 实践与 练习
28.7 公 共类设 计
28.10 进 货单模块 设计
第4篇 项目实战
28 企业进销存管理系统
28.8 系统 登录模块 设计
java完整课件

Java语言的历史与发展
01
介绍Java语言的起源、发展历程以及在不同领域的应用。
Java语言的特点
02
详细阐述Java语言的跨平台性、面向对象、安全性等特点。
Java与C的对比
03
分析Java与C在语法、编程范式、内存管理等方面的异同点。
4
开发环境搭建
2024/1/26
JDK的安装与配置
集合框架中的常用接口和类
Java集合框架中常用的接口包括Collection、List、Set和Map,常 用的实现类包括ArrayList、LinkedList、HashSet、TreeSet和 HashMap等。
24
List接口及其实现类
2024/1/26
01
List接口的定义和特点
List接口是Java集合框架中的一个重要接口,它表示一种 有序的集合,可以包含重复元素。List接口提供了丰富的 操作方法来管理元素,如添加、删除、获取和遍历等。
字节流与字符流
学习使用字节流和字符流进行文件的读写操作,理解其使用场景和区 别。
缓冲流
掌握缓冲流的使用,理解其在提高文件读写效率方面的作用。
对象序列化与反序列化
了解对象序列化和反序列化的概念,学习使用ObjectOutputStream 和ObjectInputStream进行对象的写入和读取。
20
Runnable接口是Java中另一种实现多线程编程的方式,它定义了一个run()方法,用于指定线程要执行的任务。实现 Runnable接口的类可以创建多个实例,并且每个实例都可以作为一个独立的线程运行。
Thread类与Runnable接口的比较
Thread类和Runnable接口都可以实现多线程编程,但它们的使用方式和适用场景略有不同。Thread类 适合于简单的多线程任务,而Runnable接口更适合于复杂的、需要共享资源的多线程任务。
java入门教程(一)PPT课件

运算符与控制流语句
运算符
Java支持多种运算符,如算术运算符(+、-、*、/、% )、关系运算符(==、!=、>、<、>=、<=)和逻辑 运算符(&&、||、!)等。
控制流语句
Java提供了多种控制流语句,如if语句、switch语句和 循环语句(for、while、do-while)等,用于控制程序 的执行流程。
1995年,Java正式发布,并成为一种独立的开发 平台。
2004年,Java SE 5.0版发布,引入了新特性如泛 型、for-each循环和自动装箱等。
java的应用领域
Web应用程序 开发
Java的Web开发技术, 如Servlet和JSP等,可 以轻松构建高效的Web 应用程序。
企业级应用
05
java开发环境配置
jdk的安装与配置
总结词
JDK是Java开发的核心工具包,需要安装并正确配置。
详细描述
JDK是Java Development Kit的缩写,是Java开发的核 心工具包,需要从Oracle官方网站下载并安装。在安装 过程中,需要选择适合自己系统的版本,并按照提示完 成安装过程。安装完成后,需要通过环境变量设置,将 JDK添加到系统路径中,以便在命令行或者其他IDE中直 接调用Java命令。
2023
java入门教程(一)ppt课件
目录
• java概述 • java基础知识 • java核心技术 • java常用类库 • java开发环境配置 • java入门案例——简易学生信息管理系统的实现
01
java概述
java的定义与特点
1
于开发跨平台应用程序和服务端应用程序等。
Java基础知识

在程序中操作对象是类的一个实例 即对象 在程序中操作对象是类的一个实例:即对象 创建一个对象 Hello obj=new Hello(); 调用方法 obj.showString("Hello World!")
11
1.1 有关面向对象的概念 什么是封装 什么是封装? 封装把对象的所有组成部分组合在一起,封 封装把对象的所有组成部分组合在一起, 装定义程序如何引用对象的数据, 装定义程序如何引用对象的数据,封装实际
}
15
1.1 有关面向对象的概念 什么是方法的重载 多态性 ? 什么是方法的重载(多态性 多态性)? 在同一个类中至少有两个方法用同一个名字, 在同一个类中至少有两个方法用同一个名字, 但有不同的参数. 但有不同的参数.
123
void show(int int_num) void show(double double_num) void show(nit nit_ um, float float_um)
25
1.6 Java中的字符串 中的字符串 StringBuffer的字符串的内容是可以改变的 的字符串的内容是可以改变的 创建StringBuffer对象 创建 对象 StringBuffer str=new Stringbuffer("hello"); 获取StringBuffer对象的信息 获取 对象的信息 int len=str.length();
20
1.4 你的第一个 你的第一个Java程序 程序
21
1.5 Java类型系统 类型系统
Java type system
primitive
reference
null
char integral
numeric
java ppt课件

CI/CD是现代软件开发的必备技能。Java有许多 成熟的CI/CD工具和框架,如Jenkins、Docker等 ,可以帮助开发者实现自动化测试、自动化构建 和自动化部署。
微服务架构
微服务架构是近年来的一种热门技术趋势。Java 凭借其稳定性和性能优势,在微服务架构中有着 广泛的应用。通过使用Spring Boot等框架,开发 者可以更轻松地构建和部署微服务。
丰富的API库:Java语言 拥有庞大的 API(Application Programming Interface)库,涵盖了从 数据结构、数学函数、 图形和声音处理到数据 库连接等各个方面。这 使得Java语言可以方便 地调用各种底层功能, 大大提高了开发效率。
安全性:Java语言具有 严格的数据类型检查和 异常处理机制,可以有 效防止程序出现错误。 此外,Java的内存管理 也是自动的,可以避免 内存泄漏等问题。
Web开发
Java的Web开发框架如Spring、Struts和Hibernate等提 供了强大的功能,使得Java在Web开发领域也具有广泛 的应用。
大数据开发
Java在大数据领域也有广泛的应用,例如使用Hadoop和 Spark等框架进行数据处理和分析。
02
CATALOGUE
java语言基础知识
06
CATALOGUE
java语言的性能优化与安全防护
java程序的性能优化技巧
01
02
03
04
代码优化
编写高效、简洁的代码,避免 冗余和重复,减少不必要的计
算和操作。
内存管理
合理分配和释放内存,避免内 存泄漏和溢出,提高内存使用
效率。
多线程编程
Java基础PPT完整版本

最新课件基础培训
18
Question?
19
第2章 面向对象的编程概念
20Leabharlann 主要内容提要什么是对象 什么是消息 什么是类 什么是继承
什么是接口
最新课件基础培训
21
面向对象 vs. 面向过程
❖面向对象(OOP)——Object-Oriented Programming
▪ 用类class封装数据以及与数据相关的操作 ▪ 用类的继承性来实现类的重用性 ▪ 多态性 ▪ 面向“对象”,由对象提供服务
❖封装性体现了面向对象程序设计的一个特性,将
方法和数据组织在一起,隐藏其具体实现而对外 体现出公共的接口
▪ 模块化
▪ 隐藏信息
变量
最新课件基础培训
方法
26
消息(Message)
❖复杂的行为必须通过对象之间的交互来实现 ❖软件对象与其它对象进行交互与通讯是通过互发
消息来实现的
对象 A
消息
对象B
最新课件基础培训
第一章 Java语言概述
Java 基础知识培训
1
主要内容提要
Java语言的发展历史 Java语言的主要特性 Java程序相关问题 Java程序的开发环境
Java程序的开发过程
最新课件基础培训
2
Java语言的发展历史
1991
1995
1998
James Gosling 领导的Green小 组开发了面向数 字家电的Oak语 言
❖接口中所定义的方法由实现(implement)该 接口的类来实现,一个类可以同时实现多个接口
❖接口机制使Java的面向对象编程变得更加灵活。 解决了单重继承带来的问题
javaPPT课件(2024)

常用的集合类
如`ArrayList`、`LinkedList`、`HashSet`、 `TreeSet`、`PriorityQueue`等。
ABCD
2024/1/26
主要的集合接口
包括`Collection`、`List`、`Set`、`Queue`、 `Deque`等。
迭代器与for-each循环
24
JSP技术
JSP定义
JSP语法
JSP内置对象
JSP与Servlet关系
JSP(JavaServer Pages)是 一种基于Java的服务器端编程 技术,用于创建动态Web页面 。
JSP页面由HTML标记和嵌入的 Java代码组成,支持表达式、 脚本元素、指令、动作等。
JSP提供了一组内置对象,如 request、response、session 等,用于处理HTTP请求和生 成响应。
Spring MVC
介绍Spring MVC的工作原理、核心组件以及常用注解。
28
Hibernate框架
Hibernate概述
简要介绍Hibernate的起源 、发展以及特点。
ORM原理
阐述对象关系映射(ORM) 的原理和Hibernate如何实 现ORM。
Hibernate核心 API
详细介绍Hibernate的核心 API,包括Session、 Transaction、Query等。
2024/1/26
19
多线程编程
线程的概念
线程是程序中的执行单元 ,Java支持多线程编程。
创建线程的方式
可以通过继承`Thread`类 或实现`Runnable`接口来 创建线程。
线程的生命周期
包括新建、就绪、运行、 阻塞和死亡五种状态。
Java基础课件-面向对象程序设计PPT

Set接口
无序、不可重复的集合, HashSet、TreeSet等实现类
Map接口
键值对形式的集合, HashMap、Hashtable等实现 类
迭代器和遍历集合
1
增强fo r循环
2
简化集合遍历的语法,遍历数组和集
合
3
迭代器模式
通过迭代器访问集合元素,实现集合 的遍历
集合遍历算法
Java 8引入的Stream API提供丰富的 集合遍历和处理方法
多线程编程
多线程编程可以提高程序的效率和响应性。我们将探索Java提供的多线程机 制,学习线程的创建、同步和互斥等关键概念。
Java基础课件-面向对象程 序设计PPT
本课件旨在介绍Java基础知识和面向对象程序设计的概念。我们将深入讨论 Java类与对象、封装、继承、多态,以及其他关键主题,一起来学习吧!
Java基础概述
1 Java语言特点
简洁、面向对象、可移 植、高性能
2 开发环境准备
JDK安装、IDE选择、 环境变量配置
代码分析、编译器指令、 配置文件生成等
通过元注解为注解添加 元数据和其他信息
Java字符串和日期时间处理
字符串处理
字符串连接、分割、截取等常 用操作
日期时间处理
日期格式化、获取时间戳、计 算日期差等
正ห้องสมุดไป่ตู้表达式
文本模式匹配和替换的强大工 具
Java集合框架
List接口
有序、可重复的集合, ArrayList、LinkedList等实现 类
构造方法
对象实例化时执行的特殊方法
成员变量和成员方法
1
成员变量
在类中定义的属性,代表对象的状态
《Java课件-Java基础课程培训PPT》

继承与多态
详细介绍继承和多态的概念、实现方式和应用场景,以及Java中的重写和重载。
接口与抽象类
讲解接口和抽象类的定义、特点和使用方式,以及它们在Java中的作用和区别。
异常处理
介绍Java中的异常和异常处理机制,探讨异常的分类、捕获和处理方式。
泛型
深入解析Java泛型的概念和用法,讲解泛型类、泛型接口和泛型方法的实现和应用。
《Java课件——Java基础 课程培训PPT》
通过这份Java基础课程培训PPT,您将学习到Java语言的重要知识点,掌握Java 环境搭建和基础编程技能,打下坚实的Java编程基础。
Java简介
介绍Java语言的起源、特点和应用领域,以及Java在软件开发中的重要性。
Java环境搭建
详细介绍如何配置Java开发环境,Байду номын сангаас括JDK、IDE等工具的安装和配置。
输入输出流操作
详细介绍Java中的输入输出流的处理方式,包括文件读写和网络通信等操作。
网络编程基础
讲解Java中的网络编程基础知识,包括Socket编程和HTTP通信等常用技术。
多线程编程基础
介绍Java中多线程编程的基本概念和操作,以及多线程之间的通信和同步。
数组
详细介绍数组的定义、初始化、操作和常见应用,以及Java中的多维数组和动 态数组。
方法与函数
讲解方法的定义、调用和返回值,以及函数的封装和模块化编程的重要性。
面向对象编程
介绍面向对象编程的基本概念和思想,以及Java中的类、对象、封装、继承和 多态的实现方式。
类与对象
深入探讨Java中类和对象的关系,讲解类的成员(属性和方法)的定义和使用。
数据类型及变量
第2章Java语言基础知识

2.4.1 常量
2. 符号常量 符号常量是以标识符形式出现的常量,符号常量必须先
声明后使用。 Java中用关键字final来声明一个标识符为常量,格式如下: final 数据类型 常量名=值[,常量名[=值],…]; 例如: final int n=200,m=400; final float pai=3.1415f; final char TAB='\t'; 注意:一个常量一旦被赋值,就不能改变,即它不能被再次
float y;
y=x;
double
则输出y的值是50.0
2.5.2 强制类型转换
将变量从较长的数据类型转换成较短的数据类型时, 则必须做强制类型转换。强制类型转换的一般格式是:
(数据类型)变量名或表达式 例如: float a=98.234f; int i=(int)a; 当然,这样强制类型转换会使小数点后面的数据丢失, 导致精度下降。例如,i的值是98。
2.3 基本数据类型
要求: 掌握各种数据类型的英文和汉字。要知道其对应关
系。 例如: 1. float 是什么类型? 2. 字符类型用什么关键字表示?
2.4.1 常量
常量(constant)是指在程序运行中其值不能被改变的量。 常量有两种形式:直接常量和符号常量。 1. 直接常量
直接常量是指在程序中直接引用的常量,包括整数、浮点数、 布尔常量、字符常量和字符串常量。
}
例2.1 变量定义举例。
请思考: (1)文件名是什么?
答:文件名是:Vartype.java (2)怎样编译程序?
javac Vartype.java (3)怎样运行程序?
java Vartype (4)程序的运行结果是什么?
《黑马程序员Java基础课件》

最佳实践和调试技巧
1
调试技巧
2
深入了解调试工具的基本操作、断点、
监视器和日志等技巧,缩短调试时间,
提高调试效率。
3
编码规范
了解代码的基本布局、注释和命名规范, 提高代码的可读性和可维护性。
资源管理和性能优化
了解Java垃圾回收机制和内存管理的基本 原理,掌握性能优化的方法和技巧,提 高程序的执行效率。
Java数据类型包括基本数据类型 和引用数据类型,掌握变量声明、 初始化和类型转换等技能。
学会if、switch、for、while等语 句的基本使用方法,创造性运用 控制流程和循环。
面向对象编程
1
类和对象
掌握类的概念、构造方法、访问修饰符,
继承和多态
2
理解对象的创建、调用和初始化。
学会继承的细节和注意事项、子类的构
总结和展
通过本课程的学习,您已经掌握了Java编程的基础知识和最佳实践,有信心 胜任Java开发工作。期待您在以后的学习和工作中继续深入了解Java编程,成 为一名真正的Java程序员。
迭代器和各种集合的操 作
理解迭代器的作用、原理和 常见用法,学会集合的增、 删、查和排序等操作。
输入和输出
文件操作
学习文件的概念、类和方法,掌 握文本文件和二进制文件的读写 操作。
异常处理
了解Java异常的概念、分类和解 决方法,掌握try-catch和finally 的使用情景。
网络编程
学会Socket的定义、实现和常见 用法,理解TCP/IP协议的基本原 理。
《黑马程序员Java基础课 件》
欢迎来到《黑马程序员Java基础课件》的世界。我们将教授Java编程的基础知 识,从Java语言的基本语法开始,全面深入地解析Java编程的面向对象思想, 掌握常见的Java编程库的使用方法,使您轻松掌握Java编程技巧。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java基础知识总结java基础知识总结pptjava基础知识总结篇(一):Java基础知识总结1.什么是类和对象?__ING IS OBJECT(万物皆对象)所有的事物都有两个方面:有什么(属性):用来描述对象。
能够做什么(方法):告诉外界对象有那些功能。
对象:对现实世界中的实体的抽象。
在计算机中,是指可标识的存储区域。
类:具有共同属性和行为的对象的抽象。
类是创建对象的模板。
2.为什么要使用面向对象?首先,面向对象符合人类看待事物的一般规律。
对象的方法的实现细节对其他对象是屏蔽的。
我们通过类来看待对象,类是对象的抽象。
其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。
对象之间的耦合性一定要低。
这样才能使每个对象本身做成最好的。
对于对象的要求:高内聚、低耦合,这样容易拼装成为一个系统。
实现高内聚就是要最大限度低提高复用性(复用性好是因为高内聚)。
可复用性是OOP的基础。
3.面向过程思想和面向对象思想比较?面向过程的思想:由过程、步骤、函数组成,以过程为核心;面向对象的思想:以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能。
4.实例变量和局部变量的比较实例变量:定义在类中但在任何方法之外。
(New出来的均有初值)局部变量:定义在方法之中的变量。
局部变量要先赋值,再进行运算,而实例变量均已经赋初值。
这是局部变量和实例变量的一大区别。
实例变量的对象赋值为null。
不允许在同一作用域内定义两个相同名称的实例变量和局部变量,但实例变量和局部变量允许命名冲突。
区分实例变量和局部变量时一定要写this。
5.介绍一下对构造函数的理解构造方法是当用类生成对象时,系统在生成对象的过程中利用的方法。
注意:构造方法在生成对象的时候会被调用,但并不是构造方法生成了对象。
构造方法没有返回值。
格式为:public 方法名。
构造方法的方法名与类名相同。
构造方法是在对象生成的过程中自动调用,不可能利用指令去调用。
在一个对象的生成周期中构造方法只用一次,一旦这个对象生成,那么这个构造方法失效。
注意:在对象变量中存放的是引用(地址);在简单变量中存放的是数值。
可以构造多个构造方法,但多个构造方法的参数表一定不同,参数顺序不同即属于不同的构造方法:如果我们未给类提供一个构造方法,那么系统会自动提供一个为空的构造方法。
6.面向对象方法的重载(Overloading)和覆盖(Overriding)Overloading在一个类中可以定义多个同名方法,各个方法的参数表一定不同。
但修饰词可能相同,返回值也可能相同。
overloading是编译时的多态。
Overriding指子类与父类之间的同名方法,参数表顺序一定相同,但修饰符和返回值可能不同,构造函数无法覆盖。
Overriding是运行时多态。
7.this关键字This表示当前对象。
特别注意:用this调用其他构造方法时,this必须为第一条语句,然后才是其他语句。
8.面向对象三大特性之封装Java中提供4个修饰符来进行对象属性和方法的访问权限控制:private :类内部可见default :包内部可见protected :包内部或子类可见public :所有可见9.面向对象三大特性之继承父类的非私有化属性和方法可以默认继承到子类。
父类的构造方法子类不可以继承,更不存在覆盖的问题。
(非构造方法可以)如果子类访问父类的构造方法,则在编译的时候提示访问不到该方法。
JAVA中不允许多继承,一个类有且只有一个父类(单继承)。
JAVA的数据结构为树型结构,而非网状。
(JAVA通过接口和内部类实现多继承)对于方法的修饰词,子类方法要比父类的方法范围更加的宽泛。
父类为public,那么子类为private则出现错误。
super()表示调用父类的构造方法。
super()也和this一样必须放在第一行。
this()用于调用本类的构造方法。
如果没有定义构造方法,那么就会调用父类的无参构造方法,即super()。
当构造一个对象的时候,系统先构造父类对象,再构造子类对象。
构造一个对象的顺序:(注意:构造父类对象的时候也是这几步)递归地构造父类对象;顺序地调用本类成员属性赋初值语句;本类的构造方法。
10.面向对象三大特性之多态多态指的是编译时类型不变化,而运行时类型变化。
多态分两种:编译时多态:编译时动态重载;运行时多态:指一个对象可以具有多个类型。
11.修饰符staticstatic定义的是一块为整个类共有的一块存储区域,其发生变化时访问到的数据都是变化之后的。
其变量可以通过类名去访问:类名.变量名。
与实例对象访问变量为等价的。
static 可修饰属性、方法和代码块:static修饰的属性为一个类的共享变量,属于整个类,在不实例化对象的情况下就能访问。
static修饰方法表明此方法为类方法(静态方法),静态方法不需要有对象,可以使用类名调用,静态方法不能访问非静态成员,包括成员的变量和方法,因为此时是通过类调用的,没有对象的概念。
this是不可用的。
当static修饰代码块时(注:此代码块要在此类的任何一个方法之外),那么这个代码块在代码被装载进虚拟机生成对象的时候可被装载一次,以后再也不执行了,一般静态代码块被用来初始化静态成员。
一般情况下,主方法是静态方法,所以可调用静态方法,主方法为静态方法是因为它是整个软件系统的入口,而进入入口时系统中没有任何对象,只能使用类调用。
覆盖不适用于静态方法,静态方法不可被覆盖。
(允许在子类中定义同名静态方法,但是没有多态,严格的讲,方法间没有多态就不能称为覆盖。
12.修饰符finalfinal可修改类、属性、方法:当用final修饰类的时候,此类不可被继承,即final类没有子类。
这样可以用final保证用户调用时动作的一致性,可以防止子类覆盖情况的发生。
利用final修饰一个属性(变量)的时候,此时的属性成为常量。
常量的地址不可改变,但在地址中保存的值(即对象的属性)是可以改变的。
利用final定义方法:这样的方法为一个不可覆盖的方法。
如果在父类中有final定义的方法,那么在子类中继承同一个方法。
对于在构造方法中利用final进行赋值的时候,此时在构造之前系统设置的默认值相对于构造方法失效。
常量(这里的常量指的是实例常量:即成员变量)赋值:在初始化的时候通过显式声明赋值。
final int x=3;在构造的时候赋值(定义时不赋值)。
局部变量可以随时赋值。
注:如果一个方法前有修饰词private或static,则系统会自动在前面加上final。
即private和static方法默认均为final方法。
Java中使用final和static组合,声明常量标识符(固定语法)。
final并不涉及继承,继承取决于类的修饰符是否为private、default、protected还是public。
也就是说,是否继承取决于这个方法对于子类是否可见。
13.抽象修饰符abstractabstract(抽象)可以修饰类、方法如果将一个类设置为abstract,则此类不可生成对象,必须被继承使用。
abstract可以将子类的共性最大限度的抽取出来,放在父类中,以提高程序的简洁性。
abstract虽然不能生成对象,但是可以声明,作为编译时类型,但不能作为运行时类型。
final和abstract永远不会同时出现。
当abstract用于修饰方法时,此时该方法为抽象方法,此时方法不需要实现,实现留给子类覆盖,子类覆盖该方法之后方法才能够生效。
abstract和static不能放在一起,否则便会出现错误。
(这是因为static不可被覆盖,而abstract为了生效必须被覆盖。
)14.接口和抽象类的比较接口和抽象类都用于抽象,接口是抽象类的抽象。
接口和抽象类都不能被实例化。
接口中只有方法声明,没有实现;在接口中声明的方法具有public和abstract属性,一个类可以实现多个接口(即多继承),接口以‘,’分隔;接口中的方法必须全部实现。
抽象类可以有部分方法实现,抽象类必须通过继承才能使用。
表现目的不同:接口用来声明功能和消息,抽象类用来抽象类,达到代码复用。
15.内部类注:所有使用内部类的地方都可以不用内部类,使用内部类可以使程序更加的简洁,便于命名规范和划分层次结构。
内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类。
内部类是指在一个外部类的内部再定义一个类。
内部类作为外部类的一个成员,并且依附于外部类而存在的。
内部类同时具有成员和类的特性(特性不冲突)。
内部类的分类:成员内部类局部内部类静态内部类匿名内部类(图形是要用到,必须掌握)a.成员内部类作为外部类的一个成员存在,与外部类的属性、方法并列。
内部类和外部类的实例变量可以共存。
在内部类中访问实例变量:this.属性,在内部类访问外部类的实例变量:外部类名.this.属性。
成员内部类的优点:⑴内部类作为外部类的成员,可以访问外部类的私有成员或属性。
(即使将外部类声明为__,但是对于处于其内部的内部类还是可见的。
)⑵用内部类定义在外部类中不可访问的属性。
这样就在外部类中实现了比外部类的private还要小的访问权限。
成员内部类不可以有静态属性。
建立内部类对象时应注意:在外部类的内部可以直接使用inner s=new inner();(因为外部类知道inner是哪个类,所以可以生成对象。
)而在外部类的外部,要生成(new)一个内部类对象,需要首先建立一个外部类对象(外部类可用),然后在生成一个内部类对象。
Outer outer = new Outer; Outer.Inner in=outer.new Inner();错误的定义方式:Outer.Inner in=new Outer.Inner()。
注意:当Outer是一个private类时,外部类对于其外部访问是私有的,所以就无法建立外部类对象,进而也无法建立内部类对象。
b.局部内部类在方法中定义的内部类称为局部内部类。
与局部变量类似,在局部内部类前不加修饰符public和private,其范围为定义它的代码块。
注意:局部内部类不仅可以访问外部类实例变量,还可以访问外部类的局部变量(但此时要求外部类的局部变量必须为final)?在类外不可直接生成局部内部类(保证局部内部类对外是不可见的)。
要想使用局部内部类时需要生成对象,对象调用方法,在方法中才能调用其局部内部类。
c.静态内部类注意:前三种内部类与变量类似,所以可以对照参考变量,静态内部类定义在类中,任何方法外,用static定义。
静态内部类只能访问外部类的静态成员。
生成(new)一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。
静态内部类的对象可以直接生成:Outer.Inner in=new Outer.Inner();而不需要通过生成外部类对象来生成。