JAVASE学习笔记--面向对象(一)

面向对象:面向对象的编程关注于类的设计。

①一个项目或工程不管多大,一定是一个一个的类构成

②类是抽象的,好比制造汽车的图纸。而具体的一辆一辆的车,是根据图纸制造的,实际上就是类的实例化

完成一个项目(或功能)的思路
1)所要完成的功能对应的类的对象是否存在。
2)若存在,则通过对象直接调用对应的类中的属性或方法即可
3)若不存在,需要创建类的对象。甚至说,类都不存在,就需要设计类。

面向对象编程的三条主线:

类及类的构成成分:属性  方法  构造器  代码块  内部类

面向对象编程的特征:封装性,继承性,多态性(抽象性)

其它关键字:this,super,package,impost,static,final,abstract,interface

类及对象

类的组成成分:属性(成员变量,field),方法(成员方法)

属性:

扫描二维码关注公众号,回复: 5658627 查看本文章

成员变量  vs  局部变量

相同点:1,遵循变量的声明格式: 数据类型 变量名=初始化值;

                2.都有作用域

不同点:1.声明的位置不同:

    成员变量:声明在类里方法外

    局部变量:声明在方法内,方法的形参部分,代码块内

成员变量的修饰符有四个:public ,private ,protected缺省

局部变量没有修饰符,与所在的方法修饰符相同

初始化:一定会有初始化值

成员变量:如果在声明的时候没有显示赋值 ,会有对应的默认值

byte short int long ==>0
 float double ==>0.0
char ==>空格
 boolean ==>false 
引用类型变量==>null
局部变量:一定要显式的赋值。(局部变量没有默认初始化值)

二者内存中存放的位置不同:成员变量存在于堆空间中,局部变量存在于栈空间中

总结:关于变量的分类:1.按照数据类型不同分为:基本数据类型(8中:byte,long,in,short,float,double,boolean,char)&  引用数据类型

按照声明位置不同分类:成员变量和局部变量

方法

提供某种功能的实现。

1.格式:权限修饰符  返回值类型 (void 表示无返回值) 方法名  (形参){}

例子:public void eat(){}

public String getName(){]

public void setName(String name){}

2.关于返回值类型:void:表明此方法不需要返回值

有返回值的方法:在方法的最后一定有return+返回值类型对应的变量

void 和return不能同时出现在同一个方法内

3.方法内可以调用本类的其它方法或属性,但是不能在方法内再定义方法

面向对象编程的思想的落地法则:

1.设计类并创建类的成分

2.实例化类的对象

3.通过“对象.属性”和“对象.方法”的形式完成某项功能

类的初始化的内存解析:

栈(stack):局部变量,数组引用,对象引用

堆(heap):new 出来的对象(对象的实体,数组的实体),含成员变量

方法区:含字符串常量

静态域:声明为static的变量

方法的重载

1.同一个类中

2.方法名相同,参数个数和类型不同

3.与返回值无关

可变个数的形参的方法:

1.格式:数据类型...形参名

2.可变个数的形参方法与同名的方法之间构成重载

3.可变个数的形参在调用时,个数从0开始,到无穷多个都可以

4.使用可变多个形参的方法与方法的形参使用数组是一致的

5.若方法存在可变个数的形参,那么一定要声明在方法形参的最后

6.在一个方法中最多声明一个可变个数的形参

猜你喜欢

转载自blog.csdn.net/XiaoLongFight/article/details/82773540