Java语言-----类与对象的秘密

简介: Java语言-----类与对象的秘密

😽个人主页: tq02的博客_CSDN博客-C语言,Java领域博主


🌈理想目标:努力学习,向Java进发,拼搏一切,找到一份朝九晚五,有假期的工作,让自己的未来不会有遗憾。

🎁欢迎各位→点赞👍 + 收藏⭐ + 评论📝+关注✨


    本章讲解内容:Java类与对象的讲解。


b00a056748e248a8a45bda703cd490ee.jpg

今日份鸡汤:不要把明天当着你的底气。


前言


              已经开始类与对象的讲解了,正式步入了Java的道路了,在讲解前,我们都知道Java是面向对象的编程语言,那么什么是对象呢?还有类是什么呢?


一、类与对象的介绍


类的关键字是class,在Java编程里,类的作用相当于机械师手中的构造图,如果没有构造图,就无法打造武器,同样如果没有类,就无法实例化。


               对象就是打造人,通过对象将类实例化。


个人结论:工匠  使用    锤子     根据     说明书    打造出武器,                                                                                   对象           编译器                  类           实例化。


  1. 类可以有很多对象,而对象却只有一个类。
  2. 类有成员变量和成员方法。
  3. 类不占空间,只有实例化时,才开辟相应空间。      


二、类的实例化


       类相当于构造图,然而构造图上肯定写了需要的零件打造的方法,所以类就有着成员变量成员方法

      然后对象才知道如何打造(开辟空间)。


类和对象的定义和实例化的格式

// 创建类   类名
class <class_name>{
field;//成员属性
method;//成员方法
}
// 实例化对象
<class_name> <对象名> = new <class_name>();


class为定义类的关键字,ClassName为类的名字,{}中为类的主体。

类中的元素称为:成员属性。类中的函数称为:成员方法

格式已经出来了,现在我们敲一个代码出来看看:

class Person {
    int age;//成员属性 实例变量
    String name;
    String sex;
    //成员方法
    public void eat() {
    System.out.println("吃饭!");
    }
    public void sleep() {
    System.out.println("睡觉!");
    }
}
public class Main{
public static void main(String[] args) {
    Person person = new Person();   //通过new实例化对象
    //产生对象 实例化对象
    Person person2 = new Person();
    Person person3 = new Person();
}


这就是创建类和对象的具体方法了。


三.类与对象的使用方法


3.1对象的初始化


      对象的初始化有两种方式。


  第一种:使用圆点成员运算符( .)  可以直接对指定对象实例化的成员变量进行赋值。


                对象.属性:表示调用类之中的成员变量;

               对象.方法():表示调用类之中的成员方法。


      第二种:使用构造函数,使用函数可以对成员变量进行初始化。


                类名(参数){ 结构体 };


代码示例图:

class Person {
    int age;//成员属性 实例变量
    String name;
    String sex;
    //构造函数
    Person(){ 
    }
    Person(String names){
    name=names;
    }
    //成员方法
    public void eat() {
    System.out.println("吃饭!");
    }
    public void sleep() {
    System.out.println("睡觉!");
    }
}
public class Main{
public static void main(String[] args) {
    Person person = new Person();   //通过new实例化对象
    //初始化person成员变量name,调用成员方法eat()
    person.name="李四"; //操作属性内容
    person.eat():   //调用成员方法
    //构造方法初始化
    Person person2 = new Person("张三");
    Person person3 = new Person();
}  


 3.2内存显示图


        类的构造图,但一旦实例化,就开辟出了内存,存放着对应的变量和方法。

代码内存显示图:


46db94621c9a417b97190c7e95fe9d4f.png

在main函数里创建了三个对象,person、person1、person2。每个对象都进行了实例化,在堆空间创建了内存。如上图,相当于每一个对象都有属于它的空间


四.this的使用方法


this是什么?this是关键字,代表着当前对象的引用。当参数名和成员变量相同时,使用this来引用,则代表的是成员变量。

06f1ea7328544bb9a721d8acd2c6b056.png

结论:从图中我们可以分析到 this不但可以引用成员变量,也可以使用构造函数。所以this便是当前对象。

注:只允许在当前类使用,构造方法中使用,需要放在第一行。


总结


类相当于蓝图,由对象根据类来将其实例化。

public修饰的类必须与文件名相同

this相当于对象名,作用和对象名一样,可以引用成员变量、构造函数、成员函数。但引用构造函数需要放在第一行。

类不占空间,但是对象实例化之后需要开辟空间。

 

在类与对象之后,还会有封装、继承、抽象、多态和接口相关的知识,在类与对象的基础上不断的延长。

目录
相关文章
|
25天前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
22天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
42 8
|
22天前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
43 1
|
1月前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
59 17
|
1月前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
51 4
|
1月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
1月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
105 4
|
1月前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
53 2
|
28天前
|
Java Android开发
Eclipse 创建 Java 类
Eclipse 创建 Java 类
26 0
|
4月前
|
Java 开发者
奇迹时刻!探索 Java 多线程的奇幻之旅:Thread 类和 Runnable 接口的惊人对决
【8月更文挑战第13天】Java的多线程特性能显著提升程序性能与响应性。本文通过示例代码详细解析了两种核心实现方式:Thread类与Runnable接口。Thread类适用于简单场景,直接定义线程行为;Runnable接口则更适合复杂的项目结构,尤其在需要继承其他类时,能保持代码的清晰与模块化。理解两者差异有助于开发者在实际应用中做出合理选择,构建高效稳定的多线程程序。
62 7