IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> java面向对象 -> 正文阅读

[PHP知识库]java面向对象

面向对象和面向过程思想对比

1,客观存在的任何一种事物,都可以看做为程序中的对象。

2,使用面向对象思想可以将复杂的问题简单化。

3,将我们从执行者的位置,变成指挥者。

面向对象类的组成

属性

? ? ? ? 该事物的各种特征

? ? ? ? ? ? ? ? 例如属性:姓名,年龄,毕业院校

行为

? ? ? ? 该事物存在的功能(能够走的事情)

? ? ? ? ? ? ? ? 例如行为:学习,java变成开发

类和对象的关系

类:类是对现实胜过中一类具有共同属性和行为的事物的抽象

对象:是能够看得到摸得到的真实存在的实体

类是对象的描述,对象是类的实体

类的定义

类的组成:属性和行为

属性:在代码中通过成员变量来体现(类中方法的变量)

行为:在代码中通过成员变量来体现(和前面的方法相比去掉了static关键字)

public class 类名{
    //成员变量
      变量1的数据类型  变量1;
      变量2的数据类型  变量2;
    //....
    //成员方法
    方法1;
    方法2;
}

对象的使用

创建对象

? ? ? ? 格式: 类名 对象名 = new 类名();

? ? ? ? 范例:Student s = new Student();

使用对象

1,使用成员变量

? ? ? ? 格式:对象名.变量名;

2,使用成员方法
? ? ? ? 格式:对象名.方法名;

单个对象内存图

两个对象内存图

?

?两个引用指向同一个对象内存图

?

?垃圾回收

当堆内存中,对象或数组产生的地址,通过任何方式都不能找到后,就会被判定为内存垃圾,

垃圾会被java垃圾回收器,空闲的时候自动进行清理。

成员变量和局部变量

区别成员变量

局部变量

类中位置不同类中方法外方法内或者方法声上(形参)
内存中位置不同堆内存栈内存
生命周期不同随着对象的存在而存在,随着对象的消失而消失随着方法的调用而存在,随着方法的调用完毕而消失
初始化值不同有默认的初始化值没有默认的初始化值,必须先定义,赋值,才能使用

封装

? ? ? ? 面向对象三大特征(封装,继承,多态)

? ? ? ? 隐藏实现细节,仅对外暴露公共过的访问方式

? ? ? ? 封装常见的体现:

? ? ? ? ? ? ? ? 1,私有成员变量,提供setxxx和getxxx方法

? ? ? ? ? ? ? ? 2,件代码抽取到方法中,这是对代码的一种封装

? ? ? ? ? ? ? ? 3,将属性抽取到类当中,这是对数据的一中封装

? ? ? ?封装的好处

? ? ? ? ? ? ? ? 1,提高了代码的安全性

? ? ? ? ? ? ? ? 2,提高了代码的复用性

Private关键字

是一个权限修饰符

可以修饰成员(成员变量和成员方法)

被Private修饰的成员只能在奔雷中才能访问

针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作

提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰。

提供“set变量名()”方法,用于设置成员变量的值,方法用public修饰。

this关键字

? ? ? ? 可以调用本类的成员(变量,方法)解决局部变量和成员变量的重名问题。

? ? ? ? this;代表所在类的对象应用

? ? ? ? ? ? ? ? 方法被那个对象调用,this就代表那个对象。

构造方法

构建,创造对象的时候,所调用的方法

格式:

? ? ? ? 1,方法名与类名相同,大小写也要一致

? ? ? ? 2,没有返回值,连void也没有

? ? ? ? 3,没有具体的返回值(不能由return带回返回结果数据)

?执行时机

? ? ? ? 1,创建对象的时候调用,每创建一次对象,就会执行一次构造方法。

? ? ? ? ?2,不用手动调用构造方法。

构造方法的作用

? ? ? ? 用于给对象的数据(属性)进行初始化

class Student{
    private int age;
    public Strdent(){
        age = 18;
    }
    //set\get方法
}

所有Student对象的age,都是18.

class Student{
    private int age;
    public Strdent(){
        this.age = 18;
    }
    //set\get方法
}

this.age代表是成员变量age,这样就不会所有的Strdent对象的age都是18了。

构造方法的注意事项

1,构造方法的创建

? ? ? ? 如果没有定义构造方法,系统将给出一个默认的无参数的构造方法。

? ? ? ? 如果定义了构造方法,系统不再提供默认的构造方法。?

2,构造方法的重载

? ? ? ? 如果自定义了带参数的构造方法,还要使用无参数的构造方法,就必须再写一个无参数构造方法。

3,推荐的使用方式

? ? ? ? 无论是否使用,都手动书写无参数的构造方法,和带参数的构造方法。

表准类制作

1,成员变量

? ? ? ? 使用private修饰

2,构造方法

? ? ? ? 提供一个无参数构造方法

? ? ? ? 提供一个带多个参数的构造方法

3,成员方法

? ? ? ? 提供每一个成员变量对应的set()/get()

? ? ? ? 提供一个显示对象信息的show()

4,创建对象并为其他成员变量赋值的两种方式

? ? ? ? 无参数构造方法创建对象后使用set()赋值

? ? ? ? 使用带参构造方法直接创建带有属性值的对象

JavaBean类:封装数据。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-22 14:26:09  更:2021-09-22 14:27:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:02:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码