关于java类与对象的创建

8、Java 类与对象的创建及初始化 本文详细介绍了 Java 中类与对象的创建及初始化过程,包括类的定义、字段声明与初始化、访问控制、构造函数的使用、静态与非静态初始化块、访问修饰符的应用等内容。通过示例代码和练习题,帮助读者掌握 Java 面向对象编程的基础知识,并提供对象创建和初始化的最佳实践建议。 阅读详情

关于java类与对象的创建

我们在前面的文章中回顾了方法的定义和方法的调用,以及了解了面向对象的初步认识,我们本篇文章来了解一下类和对象的关系,还是遵循结合现实的方式去理解,不是死记硬背😀。

1、类

  • 类是一种抽象的数据类型,它对某一类事物整体描述定义,但是不能代表某一个具体的事物。
  • 比如,动物,植物,家具,手机,电脑等。
  • 比如,Person类(人类),Car类(汽车类),这些都是用来描述或者定义某一类具体的事物应该具备的特点和行为。

2、对象

  • 对象是抽象概念的具体实例。
  • 比如,张三,就是一个人类的具体实例,张三家里的桌子,就是家具类的具体实例。
  • 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。

3、创建与初始化对象

  • 使用new关键字进行创建对象。

  • 使用new关键字的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中的构造器的调用。

  • 我们直接用代码进行展示🤔

1、首先,程序中只允许存在一个main方法,我们可以新建一个包,然后新建一个类用于程序入口,其他的类里面,就不去写main方法了,这个在以后的代码编写中也要注意,要养成习惯。

在这里插入图片描述

2、我们在Application中,写我们最熟悉的main方法。

package oop.Demo02;
//一个项目应该只存在一个main方法。
public class Application {
    public static void main(String[] args) {
        
    }
}

3、然后我们再创建一个Student类,学生类,我们在这个类里面写属性和方法,一个类中,只能存在属性和方法!!!

package oop.Demo02;
//学生类
public class Student {
    //属性,字段
    String name;

    int age;

    //方法
    public void study()
    {
        System.out.println(this.name+"正在学习");//this代表,当前类
    }
}

4、我们将Student类实例化,要在main方法中。

package oop.Demo02;

public class Application {
    public static void main(String[] args) {
        //类:抽象的,进行实例化
        //类实例化后,会返回一个自己的对象。
        //student对象,就是一个Student类的具体实例!
        Student student = new Student();
        Student xiaoming = new Student();
        Student xiaohong = new Student();
        
    }
}

我们在创建对象的时候,会看到Student student = new Student();,可以写出new.Student().var,然后回车就可以自动带出对象名字,对象名字是可以更改的,就像后边写出的,小明和小红,都是具体的人。

同一个类,可以产生出不同的对象,就像小明和小红,但是他们都具备共同的特性,就是名字和年龄,也叫做共同的属性。

5、我们来打印一下小明这个对象的名字和年龄。

package oop.Demo02;

public class Application {
    public static void main(String[] args) {

        Student xiaoming = new Student();
        Student xiaohong = new Student();

       System.out.println(xiaoming.name+"\n"+xiaoming.age);
    }
}

我们执行一下代码,可以发现,输出的是null。

null
0

进程结束......

所以,我们可以知道,名字这个属性没有赋值,默认值就是空(null),年龄是int类型,没有赋值,默认值是0。

6、我们要给小明的名字和年龄进行赋值,但是切记,不要在类的属性后边赋值,否则创建的所有对象的名字都叫一个名字了!!

下面给大家带来错误示范!!!

package oop.Demo02;
//学生类
public class Student {
    //属性,字段
    String name="小明";//除非是某些字段要求就是默认值,否则在这里赋值所有创建的对象初始值都是一样的!

    int age;

    //方法
    public void study()
    {
        System.out.println(this.name+"正在学习");//this代表,当前类
    }
}

下面给大家带来正确示范!

package oop.Demo02;

public class Application {
    public static void main(String[] args) {
        
        Student xiaoming = new Student();
        Student xiaohong = new Student();
        xiaoming.name="小明";
        xiaoming.age=10;
        System.out.println(xiaoming.name+"\n"+xiaoming.age);
    }
}

我们执行一下代码,可以发现,输出的是我们所赋的值。

小明
10

进程结束.....

我们刚刚只是给xiaoming赋值了,但是没有给xiaohong赋值,所以我们可以输出一下小红,看看是不是没有值。

package oop.Demo02;

public class Application {
    public static void main(String[] args) {
        
        Student xiaoming = new Student();
        Student xiaohong = new Student();
        xiaoming.name="小明";
        xiaoming.age=10;
        System.out.println(xiaoming.name+"\n"+xiaoming.age);
        System.out.println(xiaohong.name+"\n"+xiaohong.age);
    }
}

我们执行一下代码。

小明
10
null
0

进程结束.....

我们在给小红赋值一下😀

public class Application {
    public static void main(String[] args) {
        
        Student xiaoming = new Student();
        Student xiaohong = new Student();
        xiaoming.name="小明";
        xiaoming.age=10;
        xiaohong.name="小红";
        xiaohong.age=10;
        System.out.println(xiaoming.name+"\n"+xiaoming.age);
        System.out.println(xiaohong.name+"\n"+xiaohong.age);
    }
}

我们执行一下代码。

小明
10
小红
10

进程结束.....

所以我们可以发现,类就有点像一个模板,我们可以通过赋值,来创建不同的对象,如果把世界想象成一个程序的话,所有人都是一个模板,People类,每个人有每个人的身高,体重,年龄,国家,职业,性格,星座等。

面向对象编程的本质:以类的方式组织代码,以对象的组织数据。

7、我们刚刚在类中创建了一个方法,我们直接调用一下。

    public void study()
    {
        System.out.println(this.name+"正在学习");//this代表,当前类
    }
public class Application {
    public static void main(String[] args) {
        
        Student xiaoming = new Student();
        Student xiaohong = new Student();
        xiaoming.name="小明";
        xiaoming.age=10;
        xiaoming.study();
		//System.out.println(xiaohong.name+"\n"+xiaohong.age);
    }
}

我们执行一下代码。

小明正在学习

进程结束.....

4、人生建议

学习编程的好处,就是可以对世界进行更改的建模,模块化,抽象化,但是不要做一个宅男宅女!要多去体验生活,工作不是生活的全部,赚钱也不是生活的全部,我们要尽可能的让生活变的丰富多彩,不断的提升自己的认知,眼界,一定要有自己喜欢的事情去做(本人就非常喜欢画画,美术方面的东西😊),人所热爱的便是生活!

50、Java 类与对象深入:包的创建与访问 本文深入讲解了 Java 中类与对象的相关知识,重点介绍了包的创建与访问机制。内容涵盖队列抽象数据类型(ADT)基础、创建可重用类的步骤、包声明与访问权限、类路径设置以及实际开发中的应用建议。通过示例代码和流程图,详细说明了如何声明公共类、编译打包类、导入使用类以及合理使用包访问权限来提高代码的可维护性和可重用性。适合有一定 Java 基础的开发者参考学习。 阅读详情

相关推荐

23、Java 类与对象创建全解析

本文深入解析了 Java 中类与对象的基本概念及其创建过程,涵盖了属性、方法、构造函数、静态成员等核心内容。通过实例代码和详细解释,帮助开发者更好地理解面向对象编程的基础知识,并提供了实践操作指导,适合初学者和有一定基础的 Java 开发者阅读学习。

lemon的博客 63

Java类与对象的创建

Java类与对象的创建 在面向对象的语言中,我们看待编程思想是站在一个管理者的角度来看待事将,将每一件事情封装成一个对象,通过对象来执行该事件,在Java语言中为了使其能够呈现模块化,降低系统的耦合度,将一个个事件的分工先创建为类,通过类来建立对象,对事件进行执行。 类 类就是在Java语言中创建的模板,相当于汽车生产的图纸,也像公司设立的职位。 类是抽象的,在使用的时候通常会找到这个类的一个具体的存在,使用这个具体的存在。 一个类可以设立多个对象。 类由属性和方法组成: · 属性:就相当于人的一个个的特征

qq_45722267的博客 467

图学习——04.HAN(异构图注意力网络)

什么是异构图,什么是元路径,什么是HAN,怎么计算attention,节点级别的attention和语义级别的attention

m0_51474171的博客 2999

java中类的定义与对象的创建_类的定义和对象的创建

类的定义和对象的创建在Java中,一切都是对象。写Java程序就是定义类的过程。类是一个模板,它规定了一种数据结构的原型。类中包含两部分:变量和方法。类中定义的变量称为数据成员或成员变量。类中定义的方法称为成员方法或成员函数。定义了类之后,还不能对他进行任何操作,必须让这个模板具体化才可以。让模板具体化的过程就是实例的创建过程。根据类这个模板,可以创建一个个具体的实例,这些实例称为对象。实例化过程...

weixin_39656435的博客 2014

从零部署DeepSeek V4 Flash:NVIDIA DGX Spark实战指南

GPU加速计算已成为现代人工智能基础设施的核心,其原理是通过并行处理架构大幅提升深度学习模型的训练与推理效率。在AI工程实践中,NVIDIA GPU凭借CUDA生态和专用驱动栈,为大规模语言模型部署提供了硬件基础。本文聚焦于企业级AI服务器部署场景,针对NVIDIA DGX Spark多节点系统的硬件初始化、驱动兼容性配置、容器化部署等关键环节,提供从系统层到应用层的完整解决方案。通过vLLM推理框架的实战配置,演示如何将DeepSeek V4 Flash模型高效部署于多GPU环境,涵盖Tensor Par

weixin_32296621的博客 379

5步搞定ABB机器人RobotStudio与S7-1500PLC的Profinet通讯(附PLCSIM调试技巧)

本文详细介绍了如何利用RobotStudio与TIA Portal软件,结合PLCSIM Advanced仿真器,在零硬件条件下实现ABB机器人与西门子S7-1500 PLC之间的Profinet通讯虚拟调试。通过五个核心步骤,从环境搭建、网络配置、信号映射到联合仿真与高级调试,帮助工程师在项目前期高效验证逻辑、压缩现场调试周期,并掌握实用的PLCSIM调试技巧。

weixin_29188043的博客 505

java 类与对象(一)认识类与类的创建和使用

认识类与类的创建和使用

m0_73815356的博客 963

Natural Language Processing

作者:禅与计算机程序设计艺术 1.简介 自然语言处理(NLP)是研究如何使计算机理解和处理自然语言的理论和方法,目的是让电脑更好的理解、获取、生成、存储和沟通人类语言。20世纪80年代末,IBM的三位博士陈天奇、周博磊和王力雄在贝尔实验室创建了首个自然语言处理系统——“布莱克多·艾森豪威尔”(Bletc

AI天才研究院 724

65. Java 类和对象 - 创建和使用类与对象:摘要

类声明(Class Declaration)语法[修饰符] class 类名 [extends 父类] [implements 接口] {// 类体:字段(fields)、方法(methods)和构造函数(constructors)修饰符:像public修饰的类,在所有地方都能被访问;若不写修饰符,该类就属于包级私有,只能在同一个包内被访问。类体:包含字段(用于表示对象的状态)、方法(用于表示对象的行为)以及构造函数(用于对象的初始化)。示例// 声明一个公共类 Person// 类体部分。

yaoxin521123的博客 1193

算法 | 基于灰狼优化算法的无人机三维路径规划方法研究(附matlab代码)

针对复杂环境下的无人机三维路径规划问题,本文提出一种基于灰狼优化算法(Grey Wolf Optimizer, GWO)的解决方案。通过模拟灰狼群体的社会等级与协作捕猎机制,结合动态参数调整策略,优化路径长度与避障性能。实验表明,相较于粒子群优化(PSO)和遗传算法(GA),GWO算法在收敛速度与路径成本上分别提升约25%和18%,且在三维城市地形中表现出更强的避障鲁棒性。本文提供完整的MATLAB代码实现,为无人机自主导航提供理论与技术支撑。

尘世冰封的专栏 287

YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构

本文记录的是基于RepVit的YOLOv11轻量化改进方法研究。RepVit的网络结构借鉴ViT的设计理念,通过分离的token mixe和减少推理时的计算和内存成本,同时减少扩展比率并增加宽度,降低延迟,并通过来弥补参数大幅减少的问题,提高了准确性。本文在替换骨干网络中配置了原论文中的和五种模型,以满足不同的需求。

Limiiiing的博客 2975

java中类的加载与对象的创建

Java中一个对象的创建分两步: 加载类,创建对象。 java类的加载过程: java中对象的创建过程: 加载类是将所写的程序.java文件编译生成的.class文件加载到内存中,保证了对象创建的预置环境。类加载完毕后才可以创建该类的对象。 第一步:加载类 当开始运行一个类,虚拟机首先试图访问指定启动类的 .main() 方法,加载该类的 .class 文件。 如果该类有父类,那么继续加载其父类,以此类推,直到加载出所有与main入口类相关的类(它的父类,父类的父类等)。 ...

m0_51660523的博客 945

基于单片机的宠物狗智能项圈设计

GPS定位功能:利用GPS模块实时获取宠物的位置,帮助主人追踪宠物的活动轨迹。活动监测:使用加速度传感器监测宠物的活动情况,如运动、休息等,并进行分析。健康监测:集成心率传感器,实时监控宠物的心率,以确保其健康。声音识别功能:通过麦克风捕捉宠物的叫声,检测宠物的状态(如饥饿、疼痛等)。蓝牙/Wi-Fi通信:通过蓝牙或Wi-Fi模块与手机APP或云端平台进行数据交互,实时反馈宠物的状态信息。电池管理:实现低功耗设计,确保设备的续航能力。

2201_76125393的博客 2281

Java 面向对象基础:类与对象的创建及内存分析

/ 1. 属性(成员变量):描述对象状态// 姓名// 年龄// 2. 构造器:对象初始化入口public Student() {} // 无参构造// 3. 成员方法:描述对象行为System.out.println(name + "正在学习");// 4. 访问器方法:封装属性访问可以,通过构造器重载实现。条件:参数列表必须不同(类型、顺序、数量至少一个不同),与返回类型和修饰符无关。public Car() {} // 无参构造。

m0_71539493的博客 952

手把手教你学simulink(26.8)--控制算法场景示例:基于强化学习的无人机姿态稳定控制系统

首先,我们需要定义无人机的姿态稳定控制环境。环境包括无人机的状态(姿态角、角速度等)和动作(电机转速)。我们还需要定义奖励函数,用于评估控制器的表现。matlab深色版本% 定义环境% 定义状态空间% 12个状态变量% 定义动作空间% 电机转速范围奖励函数用于评估控制器的表现。我们可以根据无人机的姿态误差、角速度误差以及控制输入的变化率来设计奖励函数。具体来说,当无人机的姿态接近设定值时,给予正奖励;当姿态误差较大或控制输入变化剧烈时,给予负奖励。matlab深色版本。

MHD0815的博客 496

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

java基础-类的定义、成员变量、方法、对象的创建与使用

一.JAVA类的定义   JAVA里面有class关键字定义一个类,后面加上自定义的类名即可。如这里定义的person类,使用class person定义了一个person类,然后在person这个类的类体里面定义person这个类应该具有的成员变量(即属性)和方法,如这里定义的int id和int age这个两个成员变量,或者叫属性,这个id表示人的身份证号码,人应该具有这个属性,ag...

weixin_30321709的博客 2643

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Java的类与对象——类、构造方法、对象创建笔记

类 构造方法与对象创建 类与程序的基本结构 参数传值 对象组合 实例成员与类成员 方法重载 this关键字 包 import语句 JRE扩展与jar文件 1、类 类的定义:类的声明+类体 基本格式:class 类名{ 类体 } 类的声明:class+类名 class是声明类的关键字 类名为自己定义的类名 类体:{}与括号内的内容组成 内容:变量的声明+方法的定义 变量声明:存储属性值 全局变量:直接在类体中声明,不在方法中,作用于整个类;有初始默认值。 局部变量:是在类体的方法中定义,只在方法内有效;无.

qq_41695518的博客 472

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

abstract类可以创建对象_Java总结——类与对象

基本数据类型与对象 Java是面向对象的语言,所以光有基本数据类型是不够的,对象才是主角。基本数据类型的存在,一方面是向计算机本身物理结构的妥协,另一方面是为了构造对象。 编程语言所面对的问题和事物是复杂的,多维度的,需要用一个组合体来囊括方方面面,各个角度。比如描述一个人,他有姓名,年龄,性别,住址,身高,体重等等,这么多信息,不是哪个基本数据类型可以表示的。可以理...

weixin_30194029的博客 702

java声明对象_Java中类的声明与对象创建

类是一个模板,它描述一类对象的行为和状态;对象是类的一个具体的实例,由类构造对象的过程称为创建类的实例。如:路灯是一个类,每一个路灯就是该类的对象。1.类声明类声明格式[public] [abstract|final] class 类名称 //class表明其后声明的是一个类,final表示该类为终结类,不能被继承;abstract为抽象类[extends 父类名称] ...

weixin_29214715的博客 3199

java中创建对象的一般格式是什么_Java中类与对象的介绍

1-01.面向相对的思想最常见的有两种编程思想:面向对象和面向过程。其中,面向过程的思想是指在需要实现一个功能时,每一个具体的步骤都需要程序员亲力亲为,对处理每一个细节做好详细处理;面向对象的思想是指当需要一个功能时,不需要关心具体的步骤,而是找一个已经具有该功能的“人”来帮你做这件事。面向对象思想具有三大特性:封装性,继承性,多态性。1-02.类与对象的关系类是一组相关属性(事物的状态信息)和行...

weixin_39777875的博客 3481

简述java中对象的关系_Java中类的创建及类与对象的关系

//import java.util.Scanner;//创建一个类class Person{//属性和方法的定义不是必须的//属性String name ;int age ;//方法public void tell(){System.out.println("姓名"+name+" 年龄 "+age);}}public class HelloWorld {public static void ma...

weixin_33510225的博客 283

Java类的创建及类与对象的关系

1 类的定义class 类名称{ 属性 方法 }1、声明一个类需要通过一个关键字class。 2、一般类名的首字母大写。2 类与对象的关系类是对某一事物的描述,是抽象的、概念上的意义,对象是实际存在的该类事物的每一个个体,也被称为实例。class Person{ String name; int age; public void print(){

JinbaoSite 1343

Java 中类与对象的创建——别只是背语法,要会用!

术语类比生活中的什么示例类(Class)图纸 / 模板PersonCar对象(Object)真实的某个实例“小明”、一辆特斯拉构造方法创建这个实例的工厂流程成员变量对象的状态/属性nameage方法对象的行为sayHello()run()类:你自己定义的数据类型。对象:类的实例,用new创建。构造器:帮助你在创建对象时赋初值。this:当前对象自己。用对象调用方法,操作它的属性。如果你觉得这篇文章对你有帮助,或者有任何想法、建议,欢迎在评论区留言交流!

欢迎来到菜鸟不学编程的博客 394

Java-面向对象4--类与对象的创建

类与对象的关系 类 类是一种抽象的数据类型,他是对某一类事物整体描述/定义,但是不能代表某一个具体的事物, 动物,植物,手机,电脑等 Person类 ,car类,pet类等,这些类都是用来描述定义某一类具体的事物应该具备的特点和行为 代码举例 //一个学生类 public class Studengt { //这个学生的属性 String name;//姓名 int age;//年龄 String gendei;//性别 //学生的方法 public

WINorYU的博客 451

Java面向对象、类的定义、对象、创建和使用、类与对象、变量的分类、方法的分类、构造方法、方法的重载

Java面向对象、类的定义、对象、创建和使用、类与对象、变量的分类、方法的分类、构造方法、方法的重载

Sera的博客 1026
上一篇: 关于java方法调用的回顾
下一篇: 关于java构造器的详解
落满樱花的羊
博客等级 码龄5年 1021粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值