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 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 《嗨 Java》第三章:类和对象 -> 正文阅读

[Java知识库]《嗨 Java》第三章:类和对象

类和对象

什么是面向对象?

面向对象其实就是只关注类和方法的形式,不会关注方法的实现和类里面有什么,只关注类和方法的交互。

**例子:**比如写一个送快递软件,在这里面我们可以把商家、快递和客户员当成一个类,我们只关注客户下单的行为、商家发货的行为和快递员运送的行为,只会关注它们三个之间的交互不会看具体如何送、如何下单和如何发货的过程,这就是面向对象快递员是一个对象、客户还有商家也是一个对象。

什么是类?

类是一种统称叫法,比如人我们知道有很多个不同的人但是他们本身都是人这个类,所以类是一种类型或复杂的事物等等的统称。

具体的一个人就是通过一个类实列化出来的对象,而这个实列化出来的对象就是一个具体的人。

创建类的方法

我们可以通过class关键字来创建一个类。

使用方法: class 类名 {类成员};

class Date {
    //类成员变量
    private int _day;
    private int _month;
    private int _year;
    
    //类成员方法
    public int GetDay() {
        return _day;
    }
}

静态成员

静态成员方法

静态成员方法通过static修饰来定义,静态方法没有this且只能调用静态方法。

静态方法无法在类里面创建静态变量,我们可以发现main函数本身也是一个静态方法,其实main函数可以不是静态的方法,但是Java的JVM中规定main方法必须定义为静态的否则无法调用。

静态成员变量

静态成员变量属于类不属于某个方法同时不过实列化多少个对象都只有一个静态成员变量,每个对象能看到的静态成员都是同一个。

普通成员

普通成员方法

普通成员方法能调用静态成员方法,同时也能定义静态变量,因为普通成员方法在调用静态方法时属于一种“权限的缩小”。

普通成员变量

普通成员变量属于具体的某个对象,当一个对象实列化出来时都有一个属于自己的普通成员变量,每个对象的普通成员变量只能看到自己看不到其它对象的同时不能共用。

默认成员方法

默认构造方法

默认构造方法的定义是:

  1. 无返回值
  2. 方法名和类名相同

默认构造方法有多种,可以通过方法重载来实现不同效果的构造方法。

默认构造方法即使没写编译器也会自动生成一个不过编译器自动生成的默认构造方法什么都不会做,默认构造方法一般使用来初始化成员变量的。

匿名对象

有时候我们想用该类的某个方法用一次就不用了,如果直接实列化一个对象来使用,这样就显得有点麻烦了所以Java当中支持一个叫匿名对象的语法,匿名对象就是来满足此类需求的,匿名对象的生命周期是在当前行一但执行完当前行就会自动销毁。

匿名对象的定义: new 类名();

例子:

class Date {
    //类成员变量
    private int _day;
    private int _month;
    private int _year;
    
    //类成员方法
    public int GetDay() {
        return _day;
    }
}

public static void main(String[] argv) {
    new Date().GetDay();//匿名对象
}

封装

封装就是指开放公有的方法,一些数据不开放出来外面的人看不到就不会对数据造成安全隐患。

C语言中没有封装一个结构体的数据可以在任意地方被更改,这就使得数据很不安全任意出错。

而Java中提供了publicprivate这两个关键字来保证数据的安全,在Java当中类中的成员变量都不会给外部随意访问的所以绝大部分的成员变量都会被private修饰,而private的作用是私有。

当一个成员变量是一个私有成员那么对外部是不可见的,子要外部不可见就不可以随意修改该成员变量的值,从而保证数据的安全。

public是公有的意思,当一个成员变量或成员方法被此关键字修饰类外就可以调用这个方法或成员。

一般方法才会定义成公有的,这样Java就完成了封装,你想访问一些数据得通过公有的方法才能访问这样就可以保证数据的安全的同时也可以达到访问和修改的目的。

代码块

静态代码块

静态代码块是类里面的一种代码块,它每次都会执行一次且是在构造函数之前,从此再也不会执行即使没有试实例化对象也会执行,只要你使用了类里面的任意一种东西就会自动执行。

静态代码块的定义

class Date{
    static {
        System.out.println("静态代码块);
    }
}

实列代码块

实列化代码块和静态代码块类似不过有静态代码块存在的时候会优先调用静态的代码块。

顺序为:静态代码块->实力代码块->构造方法

实列代码块是当有一个对象实列化之后才会执行,所以有多少个实列化对象就会有执行多次实列代码块的内容。

实列代码块的定义

class Date {
    {
        System.out.println("实列代码块")
    }
}
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-06-03 23:53:36  更:2022-06-03 23:54:33 
 
开发: 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 19:42:32-

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