Java 超详细讲解类的定义方式和对象的实例化

作者:Gremmie102 时间:2021-09-11 17:38:29 

1.面对对象的初步认识

1.1什么是面向对象

Java 超详细讲解类的定义方式和对象的实例化

用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。

1.2面向对象与面向过程

举一个买手机的例子

Java 超详细讲解类的定义方式和对象的实例化

以面向对象的方式来处理买手机这件事的话,我们就不需要关注买手机的过程,具体手机怎么买,如何到手,用户不用去关心,只需要告诉小秘书,然后拿手机即可,这些过程是通过对象之间的交互来完成的。

⚠️:面向过程和面向对象并不是一门语言,而是解决问题的方法,没有好坏之分

2.类的定义与使用

面向对象程序设计关注的是对象

2.1简单认识类

**类是用来对一个实体(对象)来进行描述的,**主要描述该实体(对象)具体由哪些属性(外观,作用),哪些功能(用来干啥),描述完成之后计算机就可以识别了。比如,我喜欢的女生类型是:性别为女,身高大于0,会吃饭。这就是一种类型,那么上帝视角下的我就可以通过这个类来实例化出一个具体的对象,它在堆上。现实生活中就是我根据这个类去找对象,创造对象。 那么在Java语言中,如何对上述的洗衣机类来进行定义呢?

2.2 类的定义格式

Java 超详细讲解类的定义方式和对象的实例化

在Java中定义类时需要用到class关键字


//创建类
class ClassName{
   field;//字段(属性)或者成员变量
   method;//行为或者成员方法
}

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

类中包含的内容成为类的成员。 类中包含的内容成为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类具有哪些功能,成为类的成员方法


class MyGirlFriend{
   public String name;
   public String sex;//性别
   public int age;
   public int height;
   public String favouriteFood;
   public int hairLength;

public void study(){
       System.out.println(this.name+"正在学习");
   }
}

采用Java语言将洗衣机类在计算机定义中完成,经过javac编译后形成.class,在JVM的基础上计算机就可以识别了。

⚠️注意事项:

  • 类名注意要采用大驼峰定义

  • 成员前写法统一为public,后面会详细解释为什么这么做

  • **此处写的方法不带static关键字.**后面会详细解释

⚠️注意事项:

  • 一般一个文件当中只定义一个类

  • main方法所在的类一般要使用public修饰(注意:Eclipse默认会在public修饰的类中找main方法)

  • public修饰的类必须要和文件名相同

  • 不要轻易修改public修饰的类的名称。

3.类的实例化

3.1什么是实例化?

定义了一个类,就相当于在计算机中定义了一种新的类型,与int double 类似,但int 和 double 是Java自带的内置类型,而类是用户自定义了一个新的类型,比如MyGirlFriend,是一个类(一种新定义的类型)有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)。

Java 超详细讲解类的定义方式和对象的实例化

这里我们实现一个日期类

/**
* @Author 12629
* @Date 2022/3/25 19:43
* @Description: 实现一个日期类
*/
public class MyDate {

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

/**
    * 设置日期:
    */
   public void setDate(int year,int month,int day) {
       this.year = year;
       this.month = month ;
       this.day = day;
   }

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

public static void main(String[] args) {

// this.printDate();

MyDate myDate = new MyDate();

myDate.setDate(2022,3,25);

myDate.printDate();

MyDate myDate2 = new MyDate();

myDate2.setDate(2022,3,28);
       myDate2.printDate();

}
}

⚠️注意事项:

  • new关键字用于创建一个对象的实例

  • 使用.来访问对象中的属性和方法

  • 同一个类可以创建多个实例

3.2重点笔记

  • 类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员。

  • 类是一种自定义的类型

  • 一个类可以实例化出多个对象,实例化出的对象 占用了实际的物理空间,存储类成员变量

Java 超详细讲解类的定义方式和对象的实例化

  • 例子:类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图

  • 当成员变量没有赋初值的时候,每个成员变量都是他所对应的0值,引用类型对应null,bollean对应false,char对应’\u0000’即为空格

来源:https://blog.csdn.net/qq_63511424/article/details/123796962

标签:Java,类的定义,对象实例化
0
投稿

猜你喜欢

  • 深入理解Java设计模式之组合模式

    2023-09-02 02:06:25
  • java异步编程之一文看完其异步函数表

    2021-12-25 10:57:39
  • Spring Cloud 请求重试机制核心代码分析

    2023-04-11 04:00:23
  • C#定时关闭窗体实例

    2023-07-09 22:53:25
  • 解决ThingsBoard编译报错问题:Failure to find org.gradle:gradle-tooling-api:jar:6.3

    2021-11-20 16:24:22
  • Android实现双曲线折线图

    2023-07-29 15:07:28
  • Java中线程的等待与唤醒_动力节点Java学院整理

    2023-07-17 04:03:05
  • Java内部类知识汇总

    2023-08-18 14:06:54
  • Java对XML文件增删改查操作示例

    2021-10-28 08:46:29
  • SpringBoot整合Elasticsearch游标查询的示例代码(scroll)

    2022-02-11 02:02:13
  • Java日期与时间类原理解析

    2021-07-20 14:00:36
  • SpringIOC BeanDefinition的加载流程详解

    2023-11-25 18:06:22
  • SpringBoot自定义Starter实现流程详解

    2022-05-19 07:03:25
  • MyBatis注解式开发映射语句详解

    2023-06-07 20:31:23
  • 四种引用类型在JAVA Springboot中的使用详解

    2023-11-24 03:34:38
  • springboot bean循环依赖实现以及源码分析

    2022-06-05 11:50:15
  • Java基础之finally语句与return语句详解

    2021-11-27 19:21:22
  • 详解Java面向对象中的继承

    2023-10-06 13:26:14
  • 解决线程池中ThreadGroup的坑

    2023-08-24 00:13:47
  • Java 使用poi把数据库中数据导入Excel的解决方法

    2022-09-19 14:18:52
  • asp之家 软件编程 m.aspxhome.com