【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);
    }
}

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

相关文章
|
8天前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
13 1
|
18天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
39 8
|
18天前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
35 1
|
1月前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
51 17
|
20天前
|
JavaScript 前端开发 Java
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。如果你从我的文章中受益,欢迎关注我,我将持续更新更多优质内容。你的支持是我前进的动力!🎉🎉🎉
21 0
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
|
27天前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
1月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
88 4
|
1月前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
50 2
|
1月前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
42 4
|
23天前
|
Java Android开发
Eclipse 创建 Java 类
Eclipse 创建 Java 类
24 0