java基础--面向对象--封装(Object-Oriented)
目录
一. 类和对象
二. 对象的创建过程
1.1 构造器
2.1 对象创建
三. 封装、对象相关关键(private、this、static)
四. 代码块
五. API文档
一. 类和对象
面向对象:关注的是对象
面向过程:关注的是过程
类:现实世界中事物java代码表示形式
如何定义一个类:
1.如何定义成员变量:和之前定义变量的方式一样.特点:成员变量有默认初始值.
2.如何定义成员方法:和之前定义方法的格式一样,把static去掉
1 public class NoteBook{ 2 //成员变量
3 String brand;//null
4 int price = 2000;//显式初始化 5
6 //成员方法
7 public void playGame(){ 8 System.out.println("playGame().."); 9 } 10 }
类如何使用:创建对象
类名 对象名1 = new 类名();
如何使用类中的方法和访问属性:
对象名.方法名(实参);
对象名.变量名 = ...;
二. 对象的创建过程
1.1 构造器
类中,与类同名,没有返回值的方法。
多个构造方法以重载的方式存在。
构造方法的最大作用:给成员变量初始化。
注:如果没有写,系统提供一个默认构造方法;使用new Student(); 实际上就算在调用空参构造方法。
构造方法直接的互相调用;
this( )
注意:被调用的构造方法必须是第一条可执行语句。
1.2 对象创建
一个对象创建的过程(初始化、实例化),以Student s = new Student();为例:
1.加载Student.class文件到方法区
2.在栈内存中定义变量s
3.在堆内存中开辟空间
4.对成员变量进行默认初始化(0/0.0/false/null)
5.对成员变量进行显式初始化(如:int a = 1;)
6.调用构造方法(成员变量赋值)
7.成员变量初始化完毕,将对象的地址值返回给栈中的变量s
三. 对象相关关键字
3.1 private(封装)、this
private:权限修饰符,表示私有的,修饰成员(成员变量或成员方法)后,只能在本类中访问。
封装:把成员私有化,提供共有的get,set方法
this:当前正在执行代码(调用方法)的对象,通常用来区分局部变量和成员变量
3.2 statci
我的理解:加载类的时候,有static修饰的就会被加载出来(变量或方法);没有写static的,只有被创建对象的时候才能加载出来,然后可以被调用。
static 静态:用来表示类成员
静态只能访问静态:
非静态可以访问静态和非静态:
工具类的制作:所有方法都是静态的.不能在创建对象.构造方法私有化.
四. 代码块
1.、局部代码块
在方法内部,用于限定变量的生命周期,及时释放内存。变量的作用域就是离它最近的大括号内。
2、构造代码块
定义在成员位置,用于抽取不同构造方法中相同的部分、在所有的构造方法之前执行。(构造方法执行之前,先执行一遍构造代码块)。
3、静态代码块
static修饰的构造代码块,用于对类初始化。在类加载的的时候执行一次。
javabean
1、所有属性为private
2、提供默认构造方法
3、提供getter和setter
4、实现serializable接口
五. API文档
文档注释:
/**
标签
*/
@author
@version
@param
@return
命令:
javadoc -d c:/test/mydoc -author -version ArrayTool.java
API文档:
能不能用构造方法,能不能创建对象,一般选择空参构造.
方法是否是静态的