JAVA学习(五):Java面向对象编程基础

简介: <p style="text-align:center">Java面向对象编程基础</p> <p style="text-align:center"><br></p> <p>面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它采用<strong>数据抽象</strong>与<strong>信息隐藏</strong>技术,来使软件开

Java面向对象编程基础


面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它采用数据抽象信息隐藏技术,来使软件开发简单化,以达到代码重用的目的。


1、OOP的3个特性(封装、继承和多态性)


封装是类的基础,指把类的相关实现细节隐藏起来,在类中将数据和实现操作的代码集中起来放在对象的内部,调用这些类时只需直接使用类预留的接口就可以了。

继承提供了子类自动拥有父类数据结构和方法的机制,它表示类之间的一种关系。

多态指使一个对象被看成另一个对象的技术,即相同的操作或函数、过程可作用于多种类型的对象上,并获得不同的结果。


2、类、对象、方法


:具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。即对象的抽象是类,类的具体化就是对象,或者说类的实例就是对象。(类是一个概念模型,类是构造面向对象程序的基本单位)

对象:一切皆是对象。(对象是真实的实体)

方法:对象执行的操作称为类的方法。


3、构造方法与析构方法


构造方法是类的一种特殊方法,用来初始化类的一个新的对象。JAVA中的每个类都有一个默认的构造方法,它必须具有与类名相同的名称,而且没有返回类型,构造方法的默认返回类型就是对象的类型本身,并且构造方法不能被static/final/synchronized/abstract/native修饰。

析构方法与构造方法相反,当对象脱离其作用域时(例如对象所在的方法已调用完毕),系统自动执行析构方法,析构方法往往用来做清理碎片的工作。

在JAVA的Object类中还提供一个protected类型的finalize()方法,因此任何java类都可以覆盖这个方法,在这个方法中进行释放对象所占有的相关资源的操作。


java中面向对象编程的笔记如下图:



最后给出示例代码:

/******************************************************
 * "定义类"——如何定义一个类*/
public class Oopbasic	//声明一个类
{
	private String name;	//编写类的属性
	private int age;		//编写类的属性
	public void tell() {	//编写类的方法(无返回参数)
		System.out.println(name+"今年"+age+"岁!");
	}
	public int returnMax(int a,int b) {	//编写类的方法(有返回参数)
		return Math.max(a, b);
	}
	public static void main(String [] args) {	//主函数
		Oopbasic fa=new Oopbasic();//创建一个实例,即对象
		fa.name="Fred";
		fa.age=10;
		fa.tell();
		int x=12,y=15;
		int zuida = fa.returnMax(x, y);
		System.out.println("MAX="+zuida);
	}
}






目录
相关文章
|
2月前
|
XML Java 编译器
Java学习十六—掌握注解:让编程更简单
Java 注解(Annotation)是一种特殊的语法结构,可以在代码中嵌入元数据。它们不直接影响代码的运行,但可以通过工具和框架提供额外的信息,帮助在编译、部署或运行时进行处理。
95 43
Java学习十六—掌握注解:让编程更简单
|
19天前
|
Java 开发者
Java 面向对象编程
总之,Java 的面向对象编程为开发者提供了一种有效的编程范式,帮助他们构建出高质量、可维护的软件系统。理解和掌握面向对象的概念和原则是成为优秀 Java 开发者的重要基础。
34 3
|
1月前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
2月前
|
存储 SQL 小程序
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
这篇文章详细介绍了Java虚拟机(JVM)的运行时数据区域和JVM指令集,包括程序计数器、虚拟机栈、本地方法栈、直接内存、方法区和堆,以及栈帧的组成部分和执行流程。
36 2
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
|
2月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
86 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
2月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
52 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
2月前
|
前端开发 Java 应用服务中间件
Javaweb学习
【10月更文挑战第1天】Javaweb学习
34 2
|
2月前
|
存储 缓存 Java
【用Java学习数据结构系列】HashMap与TreeMap的区别,以及Map与Set的关系
【用Java学习数据结构系列】HashMap与TreeMap的区别,以及Map与Set的关系
41 1
|
2月前
|
存储 算法 Java
带你学习java的数组军队列
带你学习java的数组军队列
36 0