JAVASE学习总结(1)

1.理解面向过程和面向对象

面向过程强调怎么做(以函数为最小单位),面向对象强调让谁去做,所以自然而然的就有了类的概念,定义一个类,这个类有什么功能什么属性,并从这个类中抽离出一个对象来调用相关功能

2.两个要素:类和对象

类比:物质和物质具体形态的关系

类的设计是面向对象设计的重点,其中又以类的成员为重

3.类的结构

常见成员有:

1.属性:又称成员变量(field),就是一个一个变量

2.方法:又称成员方法,类似于函数

类之于项目,就如细胞之于动物

4.类和对象的创建(分三步)

1.创建对象其实跟之前的定义差不多,都是 数据结构 对象名 =new 值(也可以为构造器)

例如scanner就是编译器提供的类 一般的用法为 Scanner scannner = new Scanner(system.in);

2.创建类的对象其实就是类的实例化

3.调用类的功能,都是通过对象名来调用的,不用new

5.体会类多个对象的关系

类派生的每个对象都有一套独立的属性,(类的属性都有默认初始化值,比如boolean是false,String是null)

eg:Person p3 = p1;将p1变量保存的对象地址值赋给p3,所以对p3相关属性操作,输出p1的相关属性时,也会变成P3的 

6.对象的内存解析

 堆(Heap)存放对象实例和数组;是宽的那个;

栈(Stack)是瘦高的那个,先进后出,用于存放局部变量(main方法里定义的是局部变量)

7.属性与局部变量的对比

类中属性的使用

属性(成员变量)vs局部变量

1.相同点

        1.1定义变量的格式:数据类型 变量名 = 变量值

        1.2先声明,后使用

        1.3变量都有其对应的作用域

2.不同点:

        2.1在类中声明的位置不同

        属性:直接定义在类的一对{}内

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

        2.2关于权限修饰符的不同

        属性:可以在声明属性时,指明其权限,使用权限修饰符。

                   常用的权限修饰符:private public 缺省 protected

         局部变量:不可以使用权限修饰符。

         2.3默认初始化值的情况:

        属性:类的属性,根据其类型,都有默认初始化值。

                    整形(byte,short,int,long):0

                    浮点型(float,double):0.0

                    字符型(char):0(或'\u0000')

                     布尔型(boolean):false

       引用数据类型(类(比如字符串),数组,接口):null

        局部变量:没有默认初始化值。意味着我们在调用局部变量之前,一定要显示赋值。

        特别地:形参在使用的时候,在赋值即可。

        2.4 在内存中加载的位置:

        属性:加载到堆空间中(非static)

        局部变量:加载到栈空间

8.方法的举例与声明的格式

1)方法就是描述类应该具有的功能

string类型的值可以是如下格式:

string info = "我的国籍是"+nation;

info还可以return

2)方法的声明:可以从有无返回值类型和有无形参去分

比如

双非:void 方法名()

双一流:返回值类型 方法名 (形参列表)

普适性:权限修饰符 返回值类型 方法名(形参列表){

                                方法体}

3)方法有无返回值类型:(看题目要求,自己的经验)

如果有,要指明返回值类型,再用return关键字返回指定的类型;

没有返回值类型,则不必加return,“return;”表示结束此方法的意思

方法名属于标识符,要见名知意;

方法可以声明0,1,或者多个形参

格式:数据类型1 形参1,数据类型2 形参2,...........

4)方法的使用中,可以调用当前类中的属性和方法,但不能再定义个方法

return关键字的使用

1.适用范围:在方法体中

2.作用:1.结束方法2.针对有返回值类型的方法,返回所要数据

3.ps:return关键字后面不可以声明执行语句

猜你喜欢

转载自blog.csdn.net/qq_61551764/article/details/121359632
今日推荐