Title

类与对象的关系

类与对象的关系

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

    动物、植物、手机、电脑....

    Person类、 Pet类、Car类等, 这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为

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

    张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。

    能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念.


创建与初始化对象

  1. 使用new关键字创建对象

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

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

    a. 必须和类的名字相同

    b. 必须没有返回类型,也不能写void

  4. 构造器必须要掌握

==============================================================================

代码演示

创建Student类

package com.tea.Demo02;

//学生类
public class Student {

    //属性:字段
    String name;
    int age;

    //方法
    public void study(){
        System.out.println(this.name+"同学在学习");
    }
}

在主类中调用方法

package com.tea.Demo02;

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

        //类:抽象的,实例化
        //类实例化后会返回一个自己的对象
        //对象
        Student xiaoming = new Student();
        Student xiaohong = new Student();
        System.out.println(xiaohong.name); //默认null
        System.out.println(xiaohong.age); //默认0

        //仅对xiaohong的属性赋值
        xiaohong.name = "小红";
        xiaohong.age = 23;

        System.out.println(xiaohong.name);  //xiaohong
        System.out.println(xiaohong.age);   //23

        //不对xiaoming的属性赋值,则一切属性默认不变
        System.out.println(xiaoming.name);  //默认null
        System.out.println(xiaoming.age);   //默认0

        xiaohong.study();  //小红同学在学习
        xiaoming.study();   //null同学在学习
    }
}

==============================================================================

构造器的使用


无参构造代码演示---Person类

package com.tea.Demo02;

//Person类中构造无参方法
public class Person {

    //一个类即使什么都不写,也会存在一个方法
    //显示的定义构造器

    String name;

    //实例化初始值
    //1.使用new关键字,本质是在调用构造器
    //2.用来初始化值
    public Person() {
        this.name = "茶茶"
    }
}

无参构造代码演示---main方法的调用

package com.tea.Demo02;

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

        //实例化了一个对象
        Person person = new Person();

        System.out.println(person.name);  //茶茶

    }
}

==============================================================================

有参构造的代码演示---Person类

package com.tea.Demo02;

public class Person {

    //一个类即使什么都不写,也会存在一个方法
    //显示的定义构造器

    String name;

    //实例化初始值
    //1.使用new关键字,本质是在调用构造器
    //2.用来初始化值
    public Person() {
    }

    //有参构造:一旦定义有参构造,无参构造就必须要显示定义
    public Person(String name) {

        this.name = name;
    }
}

有参构造的代码演示---main方法

package com.tea.Demo02;

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

        //实例化了一个对象
        Person person = new Person("茶茶");

        System.out.println(person.name);  //茶茶

    }
}

==============================================================================

总结

构造器的特点:

  1. 和类名相同
  2. 没有返回值

作用:

  1. new本质在调用构造方法
  2. 初始化对象的值

注意点:

  1. 定义有参构造之前,如果想使用无参构造,必须显示定义一个无参构造

快捷键:

  1. 构造有参与无参:Alt+Insert
  2. new对象实例化:Alt+回车+回车

this.name(1)= name(2):两个name表面一样,但是(1)来自当前类,(2)来自参数传进来的值

==============================================================================

构造思维图

截图-狂神说

==============================================================================

小节类与对象

  1. 类与对象:
  • 类是一个模板:抽象;对象是一个具体的实例
  1. 方法:
  • 定义与调用
  1. 对应的引用:
  • 引用类型:基本类型(8个)
  • 对象是通过引用来操作:栈--->堆
  1. 属性:字段Field 成员变量
  • 默认初始化:

    • 数字:0,0.0
    • char:u0000
    • boolean:false
    • 引用:null

    修饰符 属性类型 属性名 = 属性值

  1. 对象的创建与使用
    • 必须使用new关键字创造对象。构造器 Person chacha = new Person
    • 对象的属性:chacha.name
    • 对象的方法:chahca.sleep()
  2. 类:
    • 静态的属性
    • 动态的行为
  3. Java三大特征:封装、继承、多态
posted @ 2022-10-01 00:09  花里胡哨的渣渣  阅读(13)  评论(0)    收藏  举报