Java面向对象 一
系列文章目录
Java面向对象 二-CSDN博客
目录
系列文章目录
前言
一、初步认识面向对象
1.类和对象的简单理解
2.类的构成
二、类的实例化
1.对象的创建
2.对象的初始化
三、this引用的作用
四、构造方法
1.构造方法的提供
2.对象的构造
3.构造方法的重载
4.this.() 调用构造方法
五、封装
1. 面向对象的特征
2. 权限关键字
3. 包的概念
4.封装的概念和意义
六、static 成员
1. static 修饰成员变量
2. static 修饰成员方法
3. 静态成员的特性及访问方式
4.静态成员变量的初始化
七、代码块
前言
java 是一门面向对象的编程语言,本文介绍 java 面向对象编程的基础内容。
一、初步认识面向对象
1.类和对象的简单理解
java 是一门面向对象的编程语言(Object Oriented Program,简称 OOP)。
对象的产生依赖于类,类可以理解为盖房子用的图纸,对象就是根据图纸建出来的房子。
2.类的构成
类中包含属性(成员变量/字段)和方法(成员方法);
成员属性:定义在类内部,方法外部的变量;
成员方法:是写在类里面的函数,用来表示对象的行为;
二、类的实例化
1.对象的创建
可以通过 new 关键字创建对象,使用类创建对象的过程,就是类的实例化;
2.对象的初始化
可以通过引用访问对象的属性和方法:具体是指“对象名.属性/方法名“的方式来访问;
默认初始化:对象的属性在没有赋值的时候,引用类型的默认值是 null,简单类型就是 0;
注意:局部变量必须初始化才能调用,对象属性/成员变量不需要。
三、this引用的作用
this 引用指向当前对象(成员方法运行时,调用该成员方法的对象);
this 只能在成员方法中使用,通过 this 可以访问对象的成员变量,但静态的成员变量不支持。
this.() :用于调用当前类中的构造方法,只能在构造方法中使用,并且只能在第一行;
this.属性: 用于访问对象的属性;
this.方法名: 用于访问对象的方法;
四、构造方法
1.构造方法的提供
当一个类中没有任何一个构造方法的时候,java 会自动提供一个没有参数的构造方法;
当一个类中有构造方法,Java 就不会提供构造方法了。
2.对象的构造
完成一个对象的构造分两步:1,给对象分配空间;2,调用合适的构造方法。
构造方法只负责对对象的成员进行初始化,不负责给对象开辟空间;
3.构造方法的重载
构造方法没有返回值类型,方法名和类名必须相同,定义不同参数可以构成构造方法的重载;
重载:方法名相同,参数列表不同的多个方法构成方法的重载。
4.this.() 调用构造方法
this.() 可以调用当前类中的其它构造方法,只能在构造方法中使用,并且只能在第一行;
使用 this 调用类中的属性和普通方法不需要放在第一行。
五、封装
1. 面向对象的特征
面向对象的三大特征:封装,继承,多态;
2. 权限关键字
private: 使用该关键字修饰的属性或者方法,只能在同一包下的同一类中访问;
default:default 不是权限关键字,什么关键字都不加就是 default 权限,同一包中的同一类或者不同类可以访问,也叫做包访问权限;
protected: 权限扩大到不同包中的子类可以访问,访问时需要用到 super 关键字;
public: 权限扩大到不同包中的非子类也可以访问;
3. 包的概念
为了更好得管理类,把多个类收集在一起成为一组,称为软件包;
import:可以使用 import 关键字将包导入;
包名:通常使用公司的域名,类如 com.baidu.www
常见的包:
java.lang: 系统常用基础类,由编译器自动导入;
java.lang.reflect: java 反射变成包;
java.net: 网络编程开发包;
java.sql: 数据库开发支持包;
java.util: java 提供的工具程序包,包含 java 集合类,非常重要;
java.io: I/O 编程开发包;
4.封装的概念和意义
封装就是对类的成员进行隐藏,通过关键字 private, 只对类外提供公开的接口;
封装的意义是可以隐藏类的实现细节,从而达到安全性;
六、static 成员
1. static 修饰成员变量
static 修饰成员变量:静态成员变量,也叫做类变量,静态变量存在于 java 虚拟机内存的方法区;
static 成员变量的生命周期:随着类加载创建,随着类卸载销毁;
2. static 修饰成员方法
static 修饰成员方法:静态成员方法,也叫做类方法;
3. 静态成员的特性及访问方式
静态成员不属于某个对象,是所有对象共享的;
访问方式:通过 “类名.静态成员名” 这种方式访问;
4.静态成员变量的初始化
就地初始化:定义的时候直接赋值,即就地初始化;
静态代码块初始化:使用 static 修饰,静态代码块位于类的里面,方法的外面,在代码块中初始化静态成员变量;
七、代码块
实例代码块:处于类的里面,方法的外面,用于初始化成员属性的代码块;
静态代码块:用 static 关键字修饰的代码块,比实例代码块更先执行;
执行时机:类加载时,静态代码块就会执行;创建对象时,实例代码块才会执行;
执行顺序:静态代码块,实例代码块,构造方法;