当前位置: 首页 > news >正文

Day31-20260127

类与对象的关系

类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物。

  1. 动物、植物、手机、电脑......
  2. Person类(人)、Pet类(宠物)、Car类(车)等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为

对象是抽象概念的具体实例

  1. 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。
  2. 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。

我们可以将这些思想转换为代码实现!

创建与初始化对象

使用new关键字创建对象

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

类中的构造器也称为构造方法,是在进行创建对象的时候要调用的。并且构造器有以下两个特点:

  1. 必须和类的名字相同
  2. 必须没有返回类型,也不能写void

构造器必须要掌握

类中只有属性跟方法

this代表当前这个类。this.name--->按住Ctrl左键点击可以跳转到对应的类

面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。

package com.oop.demo02;
//学生类
public class Student {//属性:字段String name;//未赋值前默认为nullint age;//未赋值前默认为0//方法public void study(){System.out.println(this.name+"在学习");}}
//Person--->身高,体重,年龄,国家
//学程序好?对世界进行更好的建模!-----宅!音乐,旅游,出国
package com.oop.demo02;
//一个项目应该只存在一个main方法
public class Application {public static void main(String[] args) {//类:抽象的,实例化//类实例化后会返回一个自己的对象!//student对象就是一个Student类的具体实例//newStudent来实例化Student student = new Student();Student xiaoming = new Student();Student xiaohong = new Student();xiaoming.name="小明";xiaoming.age=3;System.out.println(xiaoming.name);System.out.println(xiaoming.age);xiaohong.name="小红";xiaohong.age=3;System.out.println(xiaohong.name);System.out.println(xiaohong.age);}
}
小明
3
小红
3进程已结束,退出代码为 0

添加默认根目录:out

右上角齿轮图标 ---> 项目结构 ---> 模块 ---> 源 ---> +添加内容跟 ---> 选择out文件夹

  1. class文件默认添加了一个方法且方法没有返回值,

  2. 方法名跟类名相同,这就是一个构造器

快捷键:Alt+insert(小键盘旁边6个键的左上)--->会生成构造器

Alt+Shift+0(小键盘0)--->生成构造器

有参选OK,无参选无选择。

package com.oop.demo02;
//java ---> class
public class Person {//一个类即使什么都不写,他也会存在一个方法//显示的定义构造器String name;int age;
/*//实例化初始值//没有参数的构造器,作用://1.使用new关键字,必须要有构造器,本质是在调用构造器//2.用来初始化值public Person(){//this.name = "jiaguangqing";}//有参数构造器:一旦定义了有参构造,无参构造就必须显示定义public Person(String name){this.name = name;}//Alt+insert--->会生成构造器
*///快捷键:***Alt+insert(小键盘旁边6个键的左上)--->会生成构造器***//Alt+Shift+0(小键盘0)--->生成构造器//无参选无选择。public Person() {}//有参选OKpublic Person(String name) {this.name = name;}//多选public Person(String name, int age) {this.name = name;this.age = age;}
}
/*public static void main(String[] args) {//new 实例化了一个对象Person person = new Person("贾光清",23);System.out.println(person.name);//null}
}构造器:1.和类名相同2.没有返回值作用:1.new本质在调用构造方法2.初始化对象的值注意点:1.定义有参构造之后,如果想使用无参构造,显示的定义一个无参的构造Alt+Insertthis。(当前类的值)=(后面的是传进来的值)*/
package com.oop.demo02;
//一个项目应该只存在一个main方法
public class Application {public static void main(String[] args) {//new 实例化了一个对象Person person = new Person("贾光清",23);System.out.println(person.name);//null}
}
贾光清进程已结束,退出代码为 0

摘要:本文介绍了面向对象编程中类与对象的关系。类是对事物抽象定义的模板,而对象是类的具体实例。通过Java代码示例展示了如何定义类(Student、Person)和创建对象(new关键字),重点讲解了构造器的特点:必须与类同名且无返回类型,用于初始化对象值。文章还演示了使用IDEA快捷键(Alt+Insert)快速生成构造器的方法,并强调了有参构造器定义后必须显式定义无参构造器的重要性。最后指出面向对象编程的本质是以类组织代码,以对象封装数据。

http://www.jsqmd.com/news/309821/

相关文章:

  • 高纯氢氧化镁生产厂家,高纯度低杂质更靠谱!
  • 上市大模型企业数据基础设施的选择:MiniMax 基于阿里云 SelectDB 版,打造全球统一AI可观测中台
  • 企业培训系统源码选型指南:自研、二开还是成品系统源码?
  • AI+企业培训系统源码:下一代内训平台长什么样?
  • 计算机毕业设计springboot高校毕业设计信息系统 基于SpringBoot的高校毕业设计全过程管理与协同平台 高校毕业设计数字化管理与在线指导系统
  • 计算机毕业设计springboot高校毕业生就业岗位推荐系统 基于SpringBoot的高校毕业生就业智能匹配与双向选择平台 高校毕业生就业信息数字化管理与职业推荐服务系统
  • 大模型开发|如何解决 AttributeError: ‘Qwen2ForCausalLM‘ object has no attribute ‘chat‘ 问题
  • Python基础调试|如何解决 ModuleNotFoundError: No module named ‘re‘ 问题
  • 云原生运维实战:阿里云 ECS 服务器安全加固与性能调优指南
  • 告别天价电费!安科瑞AESB-125/261-L储能一体机,工商业用户的“超级充电宝”
  • Antigravity Skills 全局安装与配置指南
  • 从零学习Kafka:集群架构和基本概念
  • 化繁为简,一库统揽:金仓数据库以“一体化替代”战略重构企业数据核心
  • WPS教育纯净版
  • 通用浏览器多开CK登录器
  • Anthropic发布Claude AI全新宪法文件强化安全伦理框架
  • LoViT:用于手术阶段识别的长视频Transformer/文献速递-基于人工智能的医学影像技术
  • 抖音小店如何邀约精准的达人帮我们带货?这套实战指南请收好!
  • Intel挖角Qualcomm资深专家领导GPU项目
  • Rust 1.93更新musl库增强网络功能
  • 分布式云网络成为AI时代应用的新WAN
  • 高纯氢氧化镁生产厂家|适配橡塑、环保、电子多场景!
  • 英伟达在AI天气预报领域选择开源路线
  • 人人租全新未拆封的手机是不是监管机
  • 互联网医院:重塑“养老居家医养”新格局
  • 算力的去中心化重构:简析Codigger分布式计算生态
  • 用户管理实验
  • 01 质点运动的描述
  • DeepSeek 刚刚开源 OCR 2,视觉理解再进化!附稳定 API 渠道推荐
  • Java毕设项目:基于springboot的超市仓库管理系统(源码+文档,讲解、调试运行,定制等)