当前位置:网站首页>1. 类与对象——什么是对象

1. 类与对象——什么是对象

2022-08-11 10:42:00 陆悠漓

类与对象

1.对于面对对象的初步认知

1.1什么是对象

有人可能会想到象棋当中的“一对象”,还有的人可能会想到男女朋友的对象,然而这些都不是究竟对象是什么,让我们在接下来的介绍中去寻找答案吧

1.2什么是面对对象

面对对象指的是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。

1.3面对对象与面对过程

1.传统洗衣服过程

平时我们在洗衣服的过程中都会经历这么几个过程
在这里插入图片描述

按照最传统的方式:我们比较注重洗衣服的过程,少一个环节都不行,其实这种就是面对过程的思想

2.现代洗衣服过程

现在洗衣服经历的过程

面对对象的方式来进行处理,不关注洗衣服的过程,其实这种思想就是面对对象的思想

2.类定义和使用

2.1类的定义

class ClassName {
    
    field;// 成员变量
    method;// 成员方法
}

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

例如,现在让我们来定义一个狗(Dog)类:

class Dog {
    
// 成员属性
    public String name;//名字
    public int age;

// 成员方法
    public void eat() {
    
        System.out.println("吃狗粮");
    }
}

注意事项

  • 类名要使用大驼峰
  • 一般一个文件当中只定义一个类
  • main方法所在的类一般要使用public修饰(注意:Eclipse默认会在public修饰的类中找main方法)
  • public修饰的类必须要和文件名相同
  • 不要轻易去修改public修饰的类的名称,如果要修改,通过开发工具修改

3类的实例化

Dog dog = new Dog();

dog叫做Dog()类实例化出来的对象

注意事项

  • new 关键字用于创建一个对象的实例
  • 使用 . 来访问对象中的属性和方法
  • 同一个类可以创建多个实例

3.1访问成员属性和方法

class Dog {
    
// 成员属性
    public String name;//名字
    public int age;

// 成员方法
    public void eat() {
    
        System.out.println("吃狗粮");
    }
}
public class Test {
    
    public static void main(String[] args) {
    
        Dog dog = new Dog();
        System.out.println(dog.name);
        dog.eat();
    }
}

4.this引用

public class Date {
    

    public int year;
    public int month;
    public int day;

    public Date() {
    
        this(2022,7,16);
        System.out.println("不带参数的构造方法");
    }

    public Date(int year, int month, int day) {
    
        this.year = year;
        this.month = month;
        this.day = day;
        System.out.println("带参数的构造方法");
    }

    public void PrintDate() {
    
        System.out.println(year+" 年 "+month+" 月 "+day+" 日 ");
    }

    public static void main(String[] args) {
    
        Date a = new Date();
        a.PrintDate();
    }

}

在这里插入图片描述

this引用的出现就是为了防止,形参名不小心与成员变量名相同

注意

  • this的类型:对应类类型引用,即哪个对象调用就是哪个对象的引用类型
  • this只能在"成员方法"中使用
  • 在"成员方法"中,this只能引用当前对象,不能再引用其他对象

5.构造方法

构造方法(也称为构造器)是一个特殊的成员方法,名字必须与类名相同,在创建对象时,由编译器自动调用,并且 在整个对象的生命周期内只调用一次

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

按住Ctrl进行多选

注意:构造方法的作用就是对对象中的成员进行初始化,并不负责给对象开辟空间。

5.1无参构造方法

public Dog() {
    
        this.name = "小黑";
        this.age = 4;
    }

5.2构造方法的特性

  • 名字必须与类名相同
  • 没有返回值类型,设置为void也不行
  • 创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次(相当于人的出生,每个人只能出生一次)
  • 构造方法可以重载(可以根据自己的需求去提供不同的构造方法)

在这里插入图片描述

在这里插入图片描述

上述两个构造方法:名字相同,参数列表不同,因此构成了方法重载

如果没有定义构造方法,那么编译器会生产一份默认的构造方法,且生成的默认构造方法一定是无参的

public Dog() {
    
        
    }

5.3默认初始化

在创建成员变量是,编译器就自动为成员变量设置好了初始值,比如:

数据类型默认值
byte0
char‘\u0000’
short0
int0
long0L
booleanfalse
float0.0f
double0.0
referencenull

5.4就地初始化

在声明成员变量时,就直接给出了初始值。

在这里插入图片描述

原网站

版权声明
本文为[陆悠漓]所创,转载请带上原文链接,感谢
https://blog.csdn.net/youstory/article/details/125810740