Java类和对象(重点详解)

Java类和对象(重点详解),第1张

✨作者:@小孙的代码分享

✨专栏:《Java SE》

✨送给各位的一句话:空杯心态 才能学到新知

✨希望大家看完博客可以有所收获,别忘了,点赞+评论!

1.面向对象

我们开始学习编程遇到了许多语言,对于C语言来说,是完全面向过程的。
对于C++语言来说,是一半面向过程,一半是面向对象。(C++是半面向对象的)
对于Java语言来说,是完全面向对象的。那么我就先带大家了解一下什么是面向对象/面向过程?

我给大家举个例子来深入理解一下什么是面向过程,什么是面向对象:

面向过程:就是注重每一步,每一个环节,也就是所说的注重过程。通过一步一步来完成要解决的问题。

面向对象:就是将不再注重过程,以对象的方式来处理问题,通过对象与对象之间的交互完成要解决的问题。

所以无论是面向对象还是面向过程都有它自己专门的用处,并没有好坏之分。

2.类的介绍

类:就是对一个实体对象的描述。

首先我们来定义一个学生类。

Java里面的类由关键字class定义,类中的元素称为:成员属性。类中的函数称为:成员方法。

class Student{
    //类名 必须是:大驼峰
    //1.字段/属性【成员变量】   类的内部 方法的外部
    public String name;
    public int age;
    //2.行为/方法【成员方法】
    public void Study(){
        int a=10; //局部变量
        System.out.println("爱学习");
    }
    public void Sports(){
        System.out.println("爱运动");
    }
}

 目前我们已经定义好了一个类,有类产生对象的过程我们叫做实例化,下面我们就来了解一下如何实例化。

实例化对象:

//通过new关键字 实例化了一个对象
        Student student=new Student();

访问成员变量:

对象.属性

System.out.println(student.name);
System.out.println(student.age);

调用成员方法:

对象.方法

student.Study();
student.Sports();

给成员变量赋值:

对象.属性=XX

student.name="雷小红";
student.age=21;

在没有赋值之前是会默认赋值为类型相对应的0值。

类型对应的0值
整型0
浮点型0.0
字符型/u0000
引用类型null
3.类和对象的个人理解

 4.this的引用

首先我们进行定义一个日期类:

属性:

方法: 

 

 

 因为形参名可能会与成员变量同名导致输出结果为0/null,或者多个对象调用同一个属性会导致出错。因此我们可以在所要引用的属性前加this。this引用代表的是当前对象的引用。

 

 既然我们学习了this,那么在遇到这种情况的时候我们都自觉的加上this会使程序保险一点。

 5.构造方法的理解

构造方法是一个比较特殊的方法,通过构造方法可以完成对象的创建,以及实例变量的初始化
换句话说:构造方法是用来创建对象,并且同时给对象的属性赋值

注意实例变量没有手动赋值的时候,系统会赋默认值。

public Date(){
        System.out.println("不带参数的构造方法");
        //这个不带参数的构造方法 当我们没有写的时候编译器会默认提供一个不带参数的构造方法!
        //实例化一个对象分两步 :1,为这个对象分配内存 2,调用合适的构造方法(构造方法不止一个)
    }
//构造方法满足 方法的重载
//构造方法是支持方法重载的。
//在一个类当中构造方法可以有多个。
//并且所有的构造方法名字都是一样的。
    public Date(int year,int month,int day){
        this.year=year;
        this.month=month;
        this.day=day;
        System.out.println("调用带有三个参数的构造方法");
    }

注意:

  1. 第一:修饰符列表目前统一写:public。千万不要写public static。
  2. 第二:构造方法名和类名必须一致
  3. 第三:构造方法不需要指定返回值类型,也不能写void,写上void表示普通方法,就不是构造方法了。

当一个类中没有提供任何构造方法,系统默认提供一个无参数的构造方法。
当一个类中手动的提供了构造方法,那么系统将不再默认提供无参数构造方法。

(救穷不救急)

今天的复习总结就先到这,对于类和对象这块的内容我会持续的更新复习总结,如果大家觉得小孙总结的还不错,给小孙鼓励一下 😄

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/876577.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存