面向对象(1)
来源:互联网 发布:linux tar只读权限 编辑:程序博客网 时间:2024/05/29 03:55
面向对象是相对面向过程而言的,是一种编程思想。面向过程强调的是功能行为,而面向对象是将功能封装进对象,强调具备了功能的对象。一个事物可能有很多复杂的功能,用面向过程进行处理就要顺序处理这些复杂的功能,而用面向对象的话面对的就是这个单纯地事物,可以说把复杂的问题简单化了,而编程者也从功能的执行者变成了指挥者。面向对象是基于面向过程的。
2.类和对象的关系:
类:对现实生活中事物的描述
对象:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。
类是对象的模版,对象是类的一个个体
3.类和对象的创建:
定义类就是在描述事物,定义事物的属性和行为:
[修饰符] class类名
{
成员变量
成员方法
}
定义对象实际上就是在堆内存中产生一个实体:
类名 对象名 = new类名();
如:
Person p= new Person(“zhangsan”,20)
过程:
new Person()时,Jvm通过类加载器将Person.class文件从外存中加载到内存
如果有静态代码块,则紧接着被执行,给Person.class进行初始化
开辟堆内存空间,分配内存地址
在堆内存中建立对象的特有属性并进行默认初始化name=null,age=0
对对象进行显式初始化,将成员变量的给定值赋给对象的变量(例如,前面的代码有private int age=30,则将对象中的age设为30)
如果有构造代码块,则紧接着构造代码块初始化
构造函数初始化,把“zhangsan”,20赋给name和age
将内存地址赋给栈内存中的p变量
4.成员变量和局部变量
作用范围:
成员变量作用于整个类中,局部变量作用于函数或者语句中
在内存中的位置:
成员变量存在堆内存中,因为对象的存在才在内存中存在
局部变量存在栈内存中
5.匿名对象
匿名对象是对对象的简化形式
匿名对象两种使用情况:
(1)当对象方法仅进行一次调用时(每次调用产生的都是新对象)
new Car().run(); //单纯调用run方法
(2)匿名对象可以作为实际参数进行传递
show(new Car()); //创建一个匿名对象作为参数传给show()使用
- 面向对象(1)
- 面向对象(1)
- 面向对象(1)
- 面向对象(1)
- 面向对象(1)
- 面向对象(1)
- 面向对象(1)
- 面向对象介绍(1)
- 面向对象理解(1)
- delphi面向对象(1)
- C# 面向对象(1)
- java--面向对象(1)
- 什么是面向对象(1)
- 面向对象基础(1)
- 面向对象学习(1)
- JavaScript-面向对象(1)
- php-面向对象(1)
- java面向对象(1)
- 第一个MYSQL存储过程以及其中遇到的空格问题
- vb.net 教程 1-9 数组3
- RxAndroid和RxJava结合OkGo示例请求网络图片加载到不同ImageView
- ThinkPHP错误
- LeetCode 318. Maximum Product of Word Lengths解题记录
- 面向对象(1)
- 基于at89s52和lcd1602的可以进行混合运算的计算器程序
- java设计模式 (1)
- 利用尾指针连接两个单链表
- 通达信扣抵公式
- 矩阵乘积
- 凑算式
- scala基础——控制结构和函数
- ACM1008玛雅历 剖析