面向对象编程
来源:互联网 发布:好的比价软件 编辑:程序博客网 时间:2024/06/06 03:21
1面向对象:
基本思想是把问题看成是若干个对象组成的,这些对象之间是独立的,但又可以相互配合 连接 和协调,从而共同完成整个程序要实现的任务和功能。
面向对象的三大特征: 封装 继承 多态。
2对象
对象是用来描述客观事物的一个实体。
3类
类是具有相同属性和方法的一组对象的集合。类定义了对象将会有的属性(特征) 和方法(行为)。
类与对象的关系 抽象与具体。
定义类
【访问修饰符】class类名{
//省略类内部的具体代码
}
访问修饰符可选
类名首字母应大写
属性
类的内部主要包含属性和方法 对象的特征在类中表示称为类的属性
定义属性:
【访问修饰符】数据类型 属性名
public String name;
方法
对象执行操作的行为成为类的方法。
[访问修饰符】返回类型 方法名称(参数类型 参数1,参数2.。。){
//方法体
}
访问修饰符可选
Void 表示没返回值 不必用return 返回具体数据 但可以用return关键字退出方法
返回类型不为void一定要用return返回对应类型的结果
public void work(){
Syso
}
创建和使用对象
类名 对象名=new类名();
左边的 类名 为对象的数据类型
右边的类名() 称为类的构造方法
Person hanbing=new Person();
使用对象
引用对象的属性和方法需要使用.点
对象名 点 属性
对象名 点 方法
对象数组
对象数组的数据类型就是具体的类名 对象数组内存储的就是这个类的对象
每个数组元素就是一个对象 当根据下标找的某个元素时 可以按照对象的使用方法来使用该元素
成员方法
类成员主要包含成员方法和成员变量
带参数的工作方法
带参数的work()方法可以接受 用户输入 的内容
创建work()方法时定义的参数叫做形式参数,简称 形参
调用方法时传入的参数叫做实际参数 ,简称 实参
方法重载
特点:
在同一个类中 方法名相同 参数的个数或类型不同
成员变量
1作用域
类中的属性,也就是直接在类中定义的变量,称作成员变量,它定义在方法的外部
2成员变量可以在声明时赋初值
局部变量
定义在方法中的变量
局部变量在使用前需要赋初值
成员变量与局部变量的区别
1作用域不同
局部变量的作用域仅限于定义它的方法
2初始值不同
Java 可以给成员变量赋初值 但是不会给局部变量赋初值,因此局部变量必须要定义赋值后再使用
3局部变量可以和成员变量同名 并且在使用时局部变量有更高的优先级
数据类型
变量的类型有 基本数据类型和 引用数据类型
引用数据类型有三种:类 数组 接口。
引用数据类型和基本数据类型在传参时的区别
对于基本数据类型 改变一个变量的值不会影响另一个变量的值
对于引用数据类型 赋值指向同一个内存空间 两个一起变
构造方法
主要作用是进行一些数据的初始化
【访问修饰符】方法名 (【参数列表】){
//省略方法体
}
参数列表可选
构造方法的方法名与类名相同
当开发人员没有编写自定义构造方法时java会自动添加默认构造方法 默认构造方法没有参数
如果自定义了一个或多个构造方法java不会自动添加默认的构造方法
构造方法的重载
this关键字的用法
书上:
因为this是在对象内部指代自身的引用,所以this只能调用实例变量 实例方法 和构造方法
This不能调用类变量和类方法 ,this也不能调用局部变量
封装概述
封装
实质就是将类的状态信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
封装的步骤
1修改属性的可见性
将Person类中的属性由public改为private即可
将public改为private后,其他类就无法访问了 如果要访问需设置setter getter 方法
2设置setter getter方法
3设置属性的存取限制
包的作用
Java中只有在不同的包中 类才可以重名
package 包名;
包的命名规则
一个唯一的包名前缀常是全部小写的ASCLL字母,并且是一个顶级域名com edu gov net org
通常使用组织的网络域名的逆序 列:入过域名为javagroup.net,包可以为
Package net javagroup.research.powerproject;
package cn.bdqn.pack1;
包的使用
1声明包的含义是声明当前类所处的位置
2导入包的含义是声明当前类中要使用到的其它类所处的位置
同一类
同一包
子类
其它地方
private
可以
不可以
不可以
不可以
默认修饰符
可以
可以
不可以
不可以
protected
可以
可以
可以
不可以
public
可以
可以
可以
可以
Static关键字
使用static可以实现通过类名加 .点 直接调用类的成员 不需要创建类的对象 。使用static修饰的属性和方法属于类,不属于某个具体的对象
1 static 修饰的属性称为静态变量或者类变量 没有使用static修饰的属性称为实例变量
2 static修饰属性最常用的场景就是定义使用final关键字修饰的常量
修饰方法
Static 修饰的方法称为静态方法或者类方法 不使用ststic关键字修饰的方法称为实例方法
提示
:
在静态方法中不能直接访问实例变量和实例方法
在实例方法中可以直接调用类中定义的静态变量和静态方法
- 面向对象/面向过程编程
- 什么是面向对象编程?
- JavaScript 面向对象编程
- JavaScript 面向对象编程
- PHP 面向对象编程
- PHP面向对象编程
- javascript面向对象编程
- 面向对象编程
- 面向对象编程
- 面向对象编程概要
- 面向对象编程,继承
- 面向对象编程,多态性
- 面向对象编程
- 面向对象编程
- javascript 面向对象编程
- JavaScript面向对象编程
- C#面向对象编程
- JavaScript 面向对象编程
- Android singleTask和 taskAffinity
- Android 用MediaCodec实现视频硬解码
- 找出重复元素并计算次数
- 安装Ubuntu虚拟机详解
- 数据范围
- 面向对象编程
- 数据库文件配置和数据库连接池的使用
- linux下安装redis
- 利用viewPager 制作滑动页面 源码
- 回文数
- 多播(组播)
- 递归的全排列(耗时比较长)
- 码农小汪-设计模式-模板方法
- 图像恢复技术之Matlab中的维纳滤波代码复现