一.什么是类?什么是对象?

对象:一个实体(比如人、狗)

类:描述一个对象(描述一个人的体征)

二.类的定义和使用

举例:

注意:

1.类也是一种自定义类型
2.public 修饰的类必须和文件名相同
3.一般一个文件只定义一个类
原因:

当我们想改变类的名字只能通过以下方法

如果一个文件中有多个类就不知道修改哪一个类

4.在同一文件中的俩类同时有main方法时光标指向哪时运行哪个类的main方法

三.类的使用

1.类的实例化

由类类型创建的对象叫做实例化,在Java一般通过采用关键字new配合使用

举例和相关过程:

四.this引用

为何使用this?

1.可以通过this引用当前对象的成员变量

相关原理:

2.可以通过this引用当前对象的非静态方法(讲静态修饰符时可知道原因)成员方法

3.可以通过this引用当前对象的构造方法

什么是构造方法?

名字必须和类名相同且没有返回值在创建对象时自动调用

举例:

利用此方法可以在实例化时初始化

调用构造方法举例:

注意:

1.this访问对象的成员和方法用this.进行引用当前对象不可以引用其他对象,而构造方法本身不属于对象的成员,所以访问构造方法用this()

2.this()必须是构造方法的第一句

五.借助IDEA生成构造方法

六.类的加载

七. 面向对象编程和面向过程编程的区别

Java是一门纯面向对象的语言,在之前的c语言中几乎都是面向过程

用洗衣服来举例

1.传统洗衣服

2.现代洗衣服

八.封装

在面向对象的语言中有三个主要特性:封装继承多态

1.什么是封装?

如上述秒数的洗衣机是看不到内部结构的,只提供一些接口来供你使用、

在语言上想达到同样的效果,得将类进行封装,将细节隐藏起来,只提供一些接口来使用

2.如何进行封装呢?

Java中是通过访问限定符管理权限的)来进行封装的

访问权限有四种:publicprivatedefaluteprotected  (后面会详细讲)

现阶段先了解三个

public(公开的):谁都可以看到 

private(私有的):只有自己知道,其他都不知道 -----具体范围为同一个包的同一类,只能在自己的类下修改变量(理解接口作用过程

default(默认权限):只有自己家族(可以理解为包)知道-----------具体范围为同一个包的不同类

代码举例:

如果类中的成员变量被private修饰,如果想进行访问得创建接口

九.借助IDEA生成外部接口

十.包的理解

本质文件夹

1.Java自带的包

在之前的学习中通过Arrays加回车就会有Java自带的包

导入该包后就可以使用其中的一类,如果想使用该包下的其它类,则继续导入,也可以使用  import java.until.*及导入该报的所有类(不推荐,同名类会起冲突),此外还有导入静态包

2.自定义包

2.1如何创建包呢?


2.2自定义包的使用

2.3解释default访问符范围

十一.static成员变量和方法

static成员变量特性:

1.不属于某个具体的对象,是类的属性,所有对象共拿的,不存储在某个对象的空间中

2.既可以通过对象访问,也可以通过类名访问,但一般更推荐使用类名访问

3.类变量存储在方法区当中

4.生命周期伴随类的一生(即:随类的加载而创建随类的卸载而销毁)

static成员方法特性:

1.不属于某个具体的对象,不能用this关键字,是类方法
2.可以通过对象调用,也可以通过类名,静态方法名(...)方式调用,更推荐使用后者
3.不能在静态方法中直接访问任何非静态成员变量,如果想访问得通过new创建对象,再通过对象的引用访问

举例:

十二.代码块

1.概念和分类

使用 { } 定义的一段代码称为代码块,可以分为四种:

普通代码块构造代码块静态代码块同步代码块(以后讲)

普通代码块:定义在方法中的代码块

构造代码块:定义在类中的代码块(不加修饰符),也叫实例代码块,一般用于初始化实例化成员变量

静态代码块:static 定义的代码块,一般初始化静态成员变量

注意:

构造代码块是在创建对象时自动调用,而静态代码块是在类加载时执行(而在类的加载说明上加载过的类不会重复加载所以无论创建多少个对象静态代码只执行一次),那谁先执行呢?

静态代码块----》构造代码块----》构造方法  (如果情况相同则则按定义顺序)

证明:

十三.对象的打印

一个个写·过于麻烦,可以借助IDEA直接创建(静态的不行

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐