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;//未赋值前默认为null
    int 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() {
    }
    //有参选OK
    public 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+Insert
        this。(当前类的值)=(后面的是传进来的值)
     */

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)快速生成构造器的方法,并强调了有参构造器定义后必须显式定义无参构造器的重要性。最后指出面向对象编程的本质是以类组织代码,以对象封装数据。

posted @ 2026-01-27 21:48  贾光清  阅读(1)  评论(0)    收藏  举报