概述
Java笔记
- 面向对象
- 概念
程序先编译(编译器起作用),后运行(虚拟机JVM起作用)
面向对象
概念
-
传统编码(面向过程):从计算机执行角度出发,以代码执行过程为核心(方便计算机)
Java编码(面向对象):从人的角度出发,从现实世界角度出发(方便人)
C++ 是部分面向对象 -
需求来自现实世界
对象:一切客观存在的事物都是对象,万物皆对象
任何对象,一定具有自己的特征和行为属性(特征):有什么 有什么组成 方法(行为):能做什么 汽车——车 继承 is a 汽车——发动机 关联 has a 司机——汽车 依赖 use a
-
编码思想:先确定解决问题所需的对象,再建立对象间关系,从而确定过程
传统思想:自顶向下,逐步求精。Java中的对象 就是一块儿数据,代表了生活中的一个对象。
Java中的类 就是一堆代码,定义了一类对象应该具有哪些属性、方法,从而形成对象的模板 -
类的抽取:是对 对象共性的抽象,代表了一类事物,人对一类事物的认识。
在一组相同或类似的对象中,抽取出共性的特征和行为,保留所关注的部分。 -
变量
局部变量:在函数的内部定义的变量定义位置:方法或方法内的结构当中 无默认值:先赋值再使用 访问范围:声明开始到代码块结束 ,{ } 是一个代码块 命名冲突:重合范围内不允许两个局部变量重名
成员变量(实例变量):
定义位置:类的内部,方法的外部 有默认值:int——0 double——0.0 char——u0000(空格) String——null boolean——false 对象类型——null 其他——null 访问范围:整个类内部有效 命名冲突:两个成员变量不可以重名 **当成员变量和局部变量重名,局部变量优先**
-
方法(对象的实例方法,代表对象能做什么)
Java中没有函数的概念,函数是面向过程的概念,而Java是纯面向对象,站在面向对象的角度,方法和函数差不多,但Java中没有函数,所以说函数都理解为指方法方法分两部分:
- 声明:修饰符、返回值类型、方法名、形参列表、抛出的异常。 代表了对象能做什么
- 实现: { 代码块 } 代表了对象怎么做
-
方法重载:定义多个方法,方法名形同,参数表不同,其他参数相同也可以,不同也可以;
参数表不同:参数个数不同,参数类型不同,参数类型排列不同(顺序不同);
不允许两个方法的参数表,只有形参名不同;
谁选择:编译器在编译时会根据实参的类型,选择相应的方法去调用。
向上就近匹配:如果类型没有byte,自动提升为short或者再往上,没有float就调用double
引用不明确:不可以出现引用不明确,例如:引用m(1,2)方法,但有m(int a,double b)和m(double a,int b),就会报错不知道引用哪个方法,就是引用不明确,但它两个任意存在哪一个都可以正确引用,但两个都存在就会报错
重载的作用:允许类中的同类方法同名,屏蔽参数的差异(参数不同,同一个行为的具体行为方式与内容也会不同)
-
构造方法:
- 不能定义返回值类型,就没有返回值这一项
- 方法名必须和类名相同,包括大小写
- 不能手动调用,只能在对象的创建过程中自动调用一次
-
对象的创建过程
- 分配空间(分配在堆空间),属性被赋予默认值(int a = 10; 此时a分配空间,赋予默认值此时a=0)
- 初始化属性,属性被赋予初始值(int a = 10; 此时初始化属性,a才会=10)
- 调用构造方法,属性可以被赋予构造参数
最后
以上就是活力魔镜为你收集整理的CoreJava学习笔记面向对象的全部内容,希望文章能够帮你解决CoreJava学习笔记面向对象所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复