java初学者的认知

一丶方法
1.1 方法
方法概述就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。 当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。(方法就是完成特定功能的代码块)
方法的定义格式:
修饰符 返回值类型 方法名 (参数列表){
代码(方法体)… return ; }
方法的注意事项:
方法不调用不执行
方法与方法是平级关系,不能嵌套定义
方法定义的时候参数之间用逗号隔开
方法调用的时候不用在传递数据类型
如果方法有明确的返回值,一定要有return带回一个值
1.2方法的重载:
方法重载概述:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
方法重载的特点:返回值类型无关,只看方法名和参数列表
在调用时,虚拟机通过参数列表的不同来区分同名方法
二丶数组
1.1数组
数组的概述:数组是存储多个变量(元素)的东西(容器)
这多个变量的数据类型要一致
数组的概念:
数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
数组既可以存储基本数据类型,也可以存储引用数据类型。
数组的定义格式:
格式1:数据类型[] 数组名;
格式2:数据类型 数组名[];
注意:这两种定义做完了,数组中是没有元素值的。
1.2数组的初始化:
数组的初始化概述:Java中的数组必须先初始化,然后才能使用。所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
初始化方式:
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。
静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。
三丶java 内存分配
Java 程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对空间进行了不同区域的划分,
因为每一片区域都有特定的处理数据方式和内存管理方式。
栈 存储局部变量
堆 存储new出来的东西
方法区(面向对象部分讲)
本地方法区(和系统相关)
寄存器(给CPU使用)
三丶二维数组
3.1 二维数组概述
Java基础班每个班有很多个学生,所以,可以用数组来存储,而我们又同时有很多个Java基础班。这个也应该用一
个数组来存储。如何来表示这样的数据呢?Java就提供了二维数组供我们使用。 由此可见:其实二维数组其实就是
一个元素为一维数组的数组。
二维数组的定义格式:
1).数据类型[][] 变量名 = new 数据类型[m][n];
m表示这个二维数组有多少个一维数组 n表示每一个一维数组的元素个数
例:int[][] arr = new int[3][2];
2).数据类型[][] 变量名 = new 数据类型[m][];
例: int[][] arr = new int[3][]
3).数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}}; 简化版格式: 数据类型[][] 变量名 = {{元素…},{元素…},{元素…}}; 举例: int[][] arr = {{1,2,3},{4,6},{6}};
四丶面向对象
1. 面向对象思想概述
当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高。可随着需求的更改,功能的增多,发现
需要面对每一个步骤很麻烦了,这时就开始思索,能不能把这些步骤和功能在进行封装,封装时根据不同的功能,
进行不同的封装,功能类似的封装在一起。这样结构就清晰了很多。用的时候,找到对应的类就可以了。这就是面
向对象的思想。接下来我们看看面向对象到底是什么?
面向对象思想概述以及特点面向对象是基于面向过程的编程思想
特点:

  1. 是一种更符合我们思想习惯的思想
  2. 可以将复杂的事情简单化
  3. 将我们从执行者变成了指挥者角色发生了转换
    面向对象开发 就是不断的创建对象,使用对象,指挥对象做事情。 面向对象设计 其实就是在管理和维护对象之间
    的关系。 面向对象特征 封装(encapsulation) 继承(inheritance) 多态(polymorphism)
    2 .类与对象关系
    类:是一组相关的属性和行为的集合 对象:是该类事物的具体体现 举例: 类 学生 对象 班长就是一个对象
    类:可以理解为构造对象的一个蓝图或者模版,是抽象的概念 对象:是以类为模型创建的具体实例,是对类
    的一种具体化。
    3.成员变量和局部变量的区别
    在类中的位置不同
    成员变量 类中方法外
    局部变量 方法内或者方法声明上
    在内存中的位置不同
    成员变量 堆内存
    局部变量 栈内存
    生命周期不同
    成员变量 随着对象的存在而存在,随着对象的消失而消失
    局部变量 随着方法的调用而存在,随着方法的调用完毕而消失
    初始化值不同
    成员变量 有默认的初始化值
    局部变量 没有默认的初始化值,必须先定义,赋值,才能使用。
    4.形式参数
    基本类型作为形式参数
    引用类型作为形式参数
    class Demo { public int getSum(int a,int b) { return a + b; } }class Test { public static void main(String[] args) { Demo d = new Demo(); System.out.println(d.getSum(10,20)); } }
    5. 匿名对象
    匿名对象:就是没有名字的对象。
    是对象的一种简化表示形式
    匿名对象的两种使用情况
    对象调用方法仅仅一次的时候
    作为实际参数传递
    6. 封装概述
    封装概述
    是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
    好处:
    隐藏实现细节,提供公共的访问方式
    提高了代码的复用性
    提高安全性。
    封装原则:将不需要对外提供的内容都隐藏起来。把属性隐藏,提供公共方法对其访问。

7.private关键字
private关键字:是一个权限修饰符。
可以修饰成员(成员变量和成员方法) 被private修饰的成员只在本类中才能访问。
private最常见的应用:
把成员变量用private修饰
提供对应的getXxx()/setXxx()方法
一个标准的案例的使用
1:这个时候写例子,局部变量名称不要和成员变量名称一致
2:private仅仅是封装的一种体现,类和方法其实也是封装体
8. this关s键字*
this:代表所在类的对象引用
记住:方法被哪个对象调用,this就代表那个对象
9.构造方法作用概述
给对象的数据进行初始化
构造方法格式
方法名与类名相同
没有返回值类型,连void都没有
没有具体的返回值
构造方法注意事项
如果你不提供构造方法,系统会给出默认构造方法
如果你提供了构造方法,系统将不再提供
构造方法也是可以重载的,虽然构造方法没有返回值,但是也可以写一个return,在最后写return;这种做法在任何void类
型的方法最后都是没有问题的。
10.类的成员方法
方法具体划分:
根据返回值
有明确返回值方法
返回void类型的方法
根据形式参数
无参方法
带参方法
一个基本类的标准写法

成员变量
构造方法
无参构造方法
带参构造方法
成员方法
getXxx()
setXxx()
给成员变量赋值的方式
无参构造方法+setXxx()
带参构造方法
11.类的初始化过程
Student s = new Student();在内存中做了哪些事情? 加载Student.class文件进内存
在栈内存为s开辟空间 在堆内存为学生对象开辟空间 对学生对象的成员变量进行默认初始化 对学生对象的成员变量进行显示初始化 通过构造方法对学生对象的成员变量赋值 学生对象初始化完毕,把对象地址赋值给s变量
12.static
可以修饰成员变量和成员方法 static关键字特点 随着类的加载而加载 优先于对象存在 被类的所有对象共享 这也是我们判断是否使用静态关键字的条件 可以通过类名调用 static关键字注意事项 在静态方法中是没有this关键字的 静态方法只能访问静态的成员变量和静态的成员方法
13.静态变量和成员变量的区别
所属不同静态变量属于类,所以也称为为类变量 成员变量属于对象,所以也称为实例变量(对象变量) 内存中位置不同 静态变量存储于方法区的静态区 成员变量存储于堆内存 内存出现时间不同 静态变量随着类的加载而加载,随着类的消失而消失 成员变量随着对象的创建而存在,随着对象的消失而消失 调用不同静态变量可以通过类名调用,也可以通过对象调用 成员变量只能通过对象名调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值