【JAVA百炼成仙】化神篇 上——面向对象(对象、类)

简介: 【JAVA百炼成仙】化神篇 上——面向对象(对象、类)

🔎这里是JAVA成仙路,关注我学习JAVA不迷路
👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️

**前言:本章具体介绍了什么是类和对象以及创建方法,整篇文章用人和人类来举例,图解穿插代码案例。

JAVA成仙路从基础开始讲,后续会讲到JAVA高级,中间会穿插面试题和项目实战,希望能给大家带来帮助!**
@[TOC]

对象

用来描述客观事物的一个实体,由一组属性和方法构成

属性

比如一个人,手,脚,眼睛之类的就是属性
创建一个Ren类声明shou jiao yan 这几个属性
public class Ren {
    //属性,这里放了手,脚,眼睛.我这里只是声明了属性还没有赋值
    private String shou;//shou 就是Ren的属性,成员属性,成员变量
    private String jiao;
    private String yan;
    }

方法

方法:即功能,封装了一段逻辑代码。
继续在这个类中,创建一个装的方法,调用这个方法把人拼起来
也就是调用这个方法时,执行它里面的代码
public class Ren {
    //属性,这里放了手,脚,眼睛.我这里只是声明了属性还没有赋值
    private String shou;
    private String jiao;
    private String yan;

    //这里声明一个方法来组装这个人
    public String zhuang() {
        return String.format("由%s和%s和%s拼装成了一个人叫王五", shou, jiao, yan);
    }
    }

类就是一块模板,确定对象将会拥有的特征(属性)和行为(方法)
具有相同属性和方法的一组对象的集合,就是类,类是抽象的。
类 和 对象(实例) 的关系:
Date d = new Date(); d 就是对象,就是类的一个体(实例),java语言中new 就是实例化。
张三 和 人类的关系 张三是对象 人类是类,
人类 zs = new 人类();
继续用上面那个例子,Ren就是人类,实例化一个对象叫王五。

在这里插入图片描述

声明类

类是一种抽象数据类型,在Java中类也被当作一个数据类型来定义。类成员包括数据成员(成员变量)和方法成员(成员方法)。java.lang.Object 此类是java程序类的基类,声明定义的类,会自动继续Object类, java 类是单继承,多实现、

声明一个类的整体结构如下:

这里的继承,抽象,实现看不懂可以略过,下一篇会详细讲,这里只要知道怎么声明类就可以了。
//普通类
public class className {
}
//抽象类
public abstract class className{
}
//类a继承类b
public class a extends b{
}
//类a实现类b
public class a implements b{
}
public 全局
abstract 抽象
class 类
className 类名
extends 继承,如果一个类在编写时,没有继承相关的父类,就自动继承Object类
superClassName 父类名
implements 实现

实例化对象

在这里插入图片描述

还是在这个类,里面多了几个set方法,这几个方法的作用就是用来传值,因为我虽然定义了shou jiao yan 这几个属性,但是并没有真实的值。就就相当于我定义了人类有手脚眼这些属性,但是没有给你具体的眼和手和脚。
public class Ren {
    //属性,这里放了手,脚,眼睛.我这里只是声明了属性还没有赋值
    private String shou;
    private String jiao;
    private String yan;

    //这里声明一个方法来组装这个人
    public String zhuang() {
        return String.format("由%s和%s和%s拼装成了一个人叫王五", shou, jiao, yan);
    }

    //这里声明了set方法来传值
    public void setshou(String id) {
        this.shou = shou;
    }
    public void setjiao(String jiao) {
        this.jiao = jiao;
    }
    public void setyan(String yan) {
        this.yan = yan;
    }
}
接下来创建一个测试类,在这个类中实例化一个人。也就是Ren类的实例化对象,实例化之后调用set方法给他传入具体的值,手,脚,眼。最后执行zhuang()方法把它拼装起来。
public class Test {
    @org.junit.jupiter.api.Test
    public void a() {
        Ren ren = new Ren();
        ren.setjiao("两只脚");
        ren.setshou("两只手");
        ren.setyan("两个眼");
        String rr = ren.zhuang();
        System.out.println(rr);
    }
}

执行结果:
在这里插入图片描述

相关文章
|
4月前
|
设计模式 网络协议 数据可视化
Java 设计模式之状态模式:让对象的行为随状态优雅变化
状态模式通过封装对象的状态,使行为随状态变化而改变。以订单为例,将待支付、已支付等状态独立成类,消除冗长条件判断,提升代码可维护性与扩展性,适用于状态多、转换复杂的场景。
450 0
|
5月前
|
安全 Java 数据建模
Java记录类:简化数据载体的新选择
Java记录类:简化数据载体的新选择
299 101
|
4月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
173 4
|
4月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
263 5
|
4月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
344 5
|
4月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
247 1
|
4月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
309 1
|
4月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
240 0
|
4月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
264 1
|
5月前
|
Java
Java基础语法与面向对象
重载(Overload)指同一类中方法名相同、参数列表不同,与返回值无关;重写(Override)指子类重新实现父类方法,方法名和参数列表必须相同,返回类型兼容。重载发生在同类,重写发生在继承关系中。
184 1