初始类和对象

文章目录

  • 一.类和对象概念
  • 二. 类于对象定义和使用
  • 三.this的使用

一.类和对象概念

类和对象是面向对象程序设计方法中最核心概念
:是对一类事物的描述,是抽象的定义,类中定义的是属性(成员变量)和方法(成员方法)。
对象:是实际存在的属该类事物的具体个体,因而也称为称为实例。

⏩⏩区别:类是对象的模板,对象是类的实例。
类只有通过对象才可以使用,对象是可以直接使用的。⏪⏪

二. 类于对象定义和使用

在java中定义类时需要用到class关键字。语法如下:

class ClassName{
           属性;
           行为;
  }  

️️范例:定义一个Cylinder类

class Cylinder{
    public double r;//成员前写法先统一为public
    public double pi = 3.14;
    public int h;
    public void area(){//此处写的方法不带static关键字
        System.out.println("圆柱的底面积 = "+pi*r*r);
    }
    public void volume(){
        System.out.println("圆柱的体积 = "+pi*r*r*h);
    }
}

☄️☄️注:当成员变量没有初始化的时候,默认值就是对应的初始值。

接着由于类属于引用数据类型,所以对象的产生的格式如下:

类名称 对象名称 = new 类名称();

当一个实例化对象产生之后,可以按以下的方法进行操作:
对象.属性:表示调用类之中的属性;
对向.方法():表示调用类之中的方法。
✏️✏️范例:使用对象操作类:

class Cylinder{
    public double r;//成员前写法先统一为public
    public double pi = 3.14;
    public int h;
    public void area(){//此处写的方法不带 static关键字
        System.out.println("圆柱的底面积 = "+pi*r*r);
    }
    public void volume(){
        System.out.println("圆柱的体积 = "+pi*r*r*h);
    }
}

public class Test {
    public static void main(String[] args) {
        Cylinder cyl = new Cylinder();
        cyl.r = 1;
        cyl.h = 1;
        cyl.area();
        cyl.volume();
    }
}

运行结果:

圆柱的底面积 = 3.14
圆柱的体积 = 3.14

以上完成一个类和对象的操作关系。

三.this的使用

⏭️⏭️先看一个例子

class Day{
    public int year;
    public int month;
    public int day;
    public void setDay(int y,int m,int d) {
        year = y;
        month = m;
        day = d;
    }
    public void printDay(){
        System.out.println(year+"/"+month+"/"+day);
    }

}
public class Test1{
    public static void main(String[] args) {
      Day day = new Day();
      day.setDay(2022,8,15);
      day.printDay();
    }
}

如果把中间的setDay换成下面的,会发生什么❓❓❓

  public void setDay(int year,int month,int day) {
        year = year;
        month = month;
        day = day;
    }

运行结果
在这里插入图片描述

注:只是形参自己给自己赋值,没赋值给成员变量。

✔️✔️接下来引入this,如下:

public void setDay(int year,int month,int day) {
        this.year = year;
        this.month = month;
        this.day = day;
    }

结果如下:2022/8/15
通过this关键字可以明确的访问一个类的成员变量,解决成员变量与局部变量名称冲突问题,this.year, this.month,this.day访问成员变量。
this的特性

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

this的三中用法:
this.成员变量;
this.成员方法;
this();方问构造方法。(后续会讲)

你可能感兴趣的:(JavaSE,java,jvm)