Java面相对象详细讲解及使用实例
时间:2018-09-13
本文章向大家介绍Java面相对象详细讲解及使用实例,需要的朋友可以参考一下
面向对象
那什么是面向对象? 在Java 中,我们是一切皆对象,所有的方法都是围绕着对象来的。面相对象是相对面向过程而来的,他们都是一种思想,
面向过程,强调的是一种功能行为
面向对象,是将功能封装进对象,强调具备了功能的对象。
面向对象是基于面向过程的,是一种符合人们思考习惯的思想,它能将复杂的事情简单化,将程序员从执行者转换成了指挥者。当需要完成需求时:
- 先要去找具有所需功能的对象来用。
- 如果该对象不存在,那么久需要创建一个具有所需功能的对象。
- 这样大幅度简化开发并提高复用。
开发的过程,其实就是不断的创建对象,使用对象和指挥对象做事。
设计的过程,其实就是在管理和维护对象之间的关系。
面向对象的特征:
• 封装(encapsulation)
• 继承(inheritance)
• 多态(polymorphism)
类与对象的关系:
类是抽象的概念,仅仅是模板,比如:“人”
对象是一个你能够看得到、摸得着的具体实体,比如:“小明” 。
Java的程序框架:
所有Java程序都以类class为组织单元
关键字class定义自定义的数据类型 。
public class HelloWorld /* 类的基本框架*/{ public static void main(String[] args){ System.out.println("Hello World!!!"); } }
Java 类 模板:
类 将显示世界的概念模拟到计算机程序中 , 语法为:
public class 类名 { //定义属性部分 属性1的类型 属性1; 属性2的类型 属性2; … 属 性n的类型 属性n; //定义方法部分 方法1; 方法2; … 方 法m; } 步骤就是: 定义类名--->编写类属性---->编写类方法
对象的创建和使用:
使用对象的步骤
1 //创建对象:类名 对象名 = new 类名(); 2 3 Car c = new Car(); 4 5 /*引用对象成员:使用“.”进行以下操作 6 引用类的属性:对象名.属性 7 引用类的方法:对象名.方法名()*/ 8 Car c = new Car(); 9 c.name = “奔驰小白”; //给name属性赋值 10 c.showMe(); //调用showMe()方法
成员变量和局部变量:
成员变量:
• 成员变量定义在类中,在整个类中都可以被访问。
• 成员变量随着对象的建立而建立,存在于对象所在的堆内存中。
• 成员变量有默认初始化值。
局部变量:
• 局部变量只定义在局部范围内,如:函数内,语句内等。
• 局部变量存在于栈内存中。
• 作用的范围结束,变量空间会自动释放。
• 局部变量没有默认初始化值
对象的内存结构
匿名对象:
匿名对象是对象的简化形式
匿名对象两种使用情况
• 当对对象方法仅进行一次调用的时
• 匿名对象可以作为实际参数进行传递
- Java FtpClient 实现文件上传服务
- Java消息队列--ActiveMq 实战
- Java消息队列-Spring整合ActiveMq
- 【知识】SAS数据分析完整笔记(3)
- 深入浅出Redis-Spring整合Redis
- Stream-快速入门Stream编程
- MySQL Regular Expression
- Jenkin-持续集成
- 4.3.4.7 Pattern Matching
- mysql left join、right join、inner join用法分析
- _CrtSetDbgFlag
- UNPv13:#第3章#套接字编程简介
- UNPv13:#第4章#基于TCP套接字编程
- UNPv13:#第5章#TCP客户/服务器程序示例
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 通过案例学Python之判断属相
- C语言经典习题100例(七)31-35
- C语言经典习题100例(八)36-40
- 学习笔记:一个MySQL实例有多个Activiti数据库问题
- C语言经典习题100例(九)41-45
- C语言入门系列之1.C语言概述和上机运行简单C程序
- 开发微信小程序,我为什么放弃 setData,使用 upData
- C语言入门系列之3.顺序程序设计和输入输出
- uniapp提交选中的性别的value值
- LeetCode 1422. 分割字符串的最大得分
- LeetCode 64. 最小路径和
- C语言入门系列之4.分支结构程序-关系、逻辑运算和if、switch语句
- LeetCode 62. 不同路径
- 在裸机上部署Pulsar集群 顶
- JNI回调Java