java基础(08)、面向对象--封装

时间:2023-02-14 19:46:24

 

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

java基础(08)、面向对象--封装

 

 


 

三.  对象相关关键字 

 3.1  private(封装)、this

private:权限修饰符,表示私有的,修饰成员(成员变量或成员方法)后,只能在本类中访问。

封装把成员私有化,提供共有的get,set方法

 

this:当前正在执行代码(调用方法)的对象,通常用来区分局部变量和成员变量

java基础(08)、面向对象--封装

 

3.2  statci

我的理解:加载类的时候,有static修饰的就会被加载出来(变量或方法);没有写static的,只有被创建对象的时候才能加载出来,然后可以被调用。

static 静态:用来表示类成员

  静态只能访问静态:

  非静态可以访问静态和非静态:

工具类的制作:所有方法都是静态的.不能在创建对象.构造方法私有化.

 


四.  代码块

1.、局部代码块

  在方法内部,用于限定变量的生命周期,及时释放内存。变量的作用域就是离它最近的大括号内。

2、构造代码块

  定义在成员位置,用于抽取不同构造方法中相同的部分、在所有的构造方法之前执行。(构造方法执行之前,先执行一遍构造代码块)。

3、静态代码块

  static修饰的构造代码块,用于对类初始化。在类加载的的时候执行一次。

java基础(08)、面向对象--封装

 

javabean

  1、所有属性为private
  2、提供默认构造方法
  3、提供getter和setter
  4、实现serializable接口

 

 


 

五.  API文档

文档注释:

/**

       标签

*/

 

@author

@version

@param

@return

 

命令:

javadoc -d c:/test/mydoc -author -version ArrayTool.java

 

API文档:

能不能用构造方法,能不能创建对象,一般选择空参构造.

方法是否是静态的