Java基础第十课——类与对象

2024-04-11 17:36
文章标签 java 基础 对象 第十课

本文主要是介绍Java基础第十课——类与对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前面二白的九讲属于Java基础方面的内容,总体来说偏基础和简单,能完成的操作也有限,有兴趣的同学可以写一写相关的管理系统,后面二白也会上传一些自己敲的小系统,下面就要开始Java面对对象的知识内容了,从这里开始已经会有点抽象和难以理解,为了以后二白自己复习,也方便大家理解,二白在这里尽量详细写一写,有不足之处还请理解。

一、类与对象的概念

前言:

变量:存储数据的空间(装数据的容器),变量中只能存储一个数据

数组:存储数据的空间(装数据的容器),数组中可以存储多个数据,多个数据类型要一致

对象:存储数据的空间(装数据的容器),对象中可以存储多个数据(通过属性来体现),多个数据类型可以不同

集合:存储数据的空间(装数据的容器),集合中可以存储多个数据,多个数据类型可以不同,也可以通过泛型要求多个数据类型相同

文件:存储数据的空间(装数据的容器),将不同类型的数据通过程序将数据存储到计算机的某些文件中

数据库:存储数据的空间(装数据的容器),专门用来存储数据和管理数据的技术,由专门的语言(SQL语句)用来操作数据库中的数据,数据库中可以存储多个不同类型的数据

那么什么是类与对象呢?

对象:现实世界中客观存在的物体都是对象,可以通过属性和方法来描述这个对象

属性:描述对象的静态特征,描述对象具有的特点

方法:描述对象的动态特征,描述对象具有的功能

类:具有相同属性和方法的多个对象的集合(具有相同特征的多个物体可以归属为同一类)

类和对象的关系:

1)类是对象的抽象,对象是类的具体

2)类是对象的模板,对象是类的具体实例

以下通过代码来理解:

二、创建类与对象

如:

定义一个Student类,类中有姓名name、年龄age、爱好hobby三个属性,定义一个方法输出这个三个属性值

创建2个Student类对象,给这2个对象的属性赋值,并通过方法输出2个对象的属性值

package com.kgc.se.demo01;/*** @JdkVersion: 17* @Author: 二白程序员* @Date 2024/4/11 9:11* QQ:1512015112* VX:18056394367*/public class Student {public String name = "神魔恋";public int age = 18;public String hobby = "敲代码";public void  show(){System.out.println(name+"-"+age+"-"+hobby);}
}
package com.kgc.se.demo01;/*** @JdkVersion: 17* @Author: 二白程序员* @Date 2024/4/11 10:17* QQ:1512015112* VX:18056394367*/public class StudentTest {public static void main(String[] args) {Student student = new Student();student.show();System.out.println("-------------------");Student student1 = new Student();student1.name="捞的一";student1.age=10;student1.hobby="打游戏";student1.show();}
}

三、定义类的语法

访问权限修饰符 class 类名{

定义属性

访问权限修饰符 数据类型 属性名[=数据];

定义方法

访问权限修饰符 返回值类型 方法名([参数列表]){

方法体代码块;

}

}

注意:

1)类的访问权限修饰符可以是public(公共的)、默认修饰符(什么都不写,也不写default)

2)类名采用大驼峰命名法(当类的名称由多个英文单词组成的时候, 每个单词的首字母都要使用大写字母)

3)类名要做到见名知意,通过类名就知道该类描述的对象信息

1.定义属性

语法规则:

访问权限修饰符 数据类型 属性名[=数据];

组成部分说明:

1)访问权限修饰符:描述该属性可以作用的范围,常用值有:

public:公共的,可以在任意地方被访问

protected :受保护的,可以被同一个包中的子类访问

默认修饰符:什么都不写,可以被同一个包中给的类访问

private:私有的,只能在当前类中被访问

2)数据类型:描述该属性的数据类型。

可以是8大基本数据类型,也可以是3大引用数据类型

3)属性名:描述属性的名称

属性名的命名规则与变量命名规则一致

4)[=数据]:描述属性的值

属性名之后可以给其赋值,也可以不赋值,一般情况都不赋值。如果你赋值了,那么通过该类创建出来的对象的该属性值都相同

2.定义方法

语法规则:

访问权限修饰符 返回值类型 方法名([参数列表]){

方法体代码块;

}

组成部分说明:

1)访问权限修饰符:描述该属性可以作用的范围,常用值有:

public:公共的,可以在任意地方被访问

protected :受保护的,可以被同一个包中的子类访问

默认修饰符:什么都不写,可以被同一个包中给的类访问

private:私有的,只能在当前类中被访问

2)返回值类型:描述调用该方法后,方法会返回一个什么类型的结果给你

返回值可以是8大基本数据类型,也可以是3大引用数据类型,需要在方法体代码块里通过return关键字来返回指定数据类型的数据,方法如果没有结果返回给你,返回值类型处写void(空)

3)方法名:描述方法的名称

方法名命名规则与变量命名规则一致

4)[参数列表]:描述该方法在调用的时候是否需要“原料”(参数),这个参数列表可写可不写

方法不需要参数列表的时候,()中是空的,该方法称之为无参方法,需要参数的时候,方法称之为有参方法

方法需要参数的时候,参数列表的形式为“数据类型 参数名1,数据类型 参数名2,...,数据类型 参数名n”,参数的数据类型可以是8大基本数据类型,也可以是3大引用数据类型

5)方法体代码块:描述方法功能的代码,可以是一行代码,也可以是多行代码

方法体代码块中的代码可以是前面学习的所有Java基础代码

四、方法

方法根据是否有参数分类:

无参方法:没有参数的方法

有参方法:有参数的方法

有参方法的参数列表中的参数可以是一个或者多个

有参方法的参数类型可以是8大基本数据类型,也可以是3大引用数据类型

方法根据是否有返回值分类:

无返回值的方法:没有返回值的方法,在定义方法时,返回值类型写void

有返回值的方法:有返回值的方法,在方法体内部使用return关键字返回结果

有返回值的方法,返回值类型处写返回的数据的类型

综上所述:

方法的表现形式有:

1)无返回值的无参方法

2)无返回值的有参方法

3)有返回值的无参方法

4)有返回值的有参方法

调用方法(不管是调用自己定义的方法还是其他人定义的方法),只需要遵守2个规则:

1)要什么给什么:按照方法的参数列表要求传递参数:参数列表规定了多少个参数、参数是什么类型什么顺序的,你就按照要求指定个数、指定类型和指定顺序传参

2)给什么接什么:方法有返回值的时候,你根据返回值的类型,使用对应类型变量接收这个返回值,如果不需要接收,可以直接将这个返回值输出

注意:

形参:定义方法或者调用方法时,看到的参数列表名称称之为形式参数,简称形参

实参:调用方法时根据参数列表要求实际传递进去的参数称之为实际参数,简称实参,我们不用关注形参的名称,只需要关注实参的类型和形参类型一致

方法的三种调用方式:

1)第一种方式:直接调用,不需要通过类名或者对象名调用,直接写方法名

要求:

在同一个类中的方法可以直接通过方法名调用,

注意:

非静态方法既可以直接调用非静态方法,也可以直接调用静态方法

静态方法只能直接调用静态方法,不能调用非静态方法

总结:

静态的只能调用静态的,非静态的什么都能调用

2)第二种方式:通过类名调用

要求:

方法是静态方法(使用static关键字修饰的方法)

注意:

静态方法也可以通过对象名调用

3)第三种方式:创建对象调用

在其他类中调用某个类里面的方法时,需要先创建方法所在类的对象,然后通过对象名调用方法

package com.kgc.se.demo04;/*** @JdkVersion: 17* @Author: 二白程序员* @Date 2024/4/11 13:51* QQ:1512015112* VX:18056394367*/public class MethodDemo02 {public void m1(){System.out.println("m1()方法");}public void m2(){System.out.println("m2()方法");m1();m3();}public static void m3(){System.out.println("使用static修饰的方法m3()");//静态方法不能访问非静态方法//m1();//Non-static method 'm1()' cannot be referenced from a static context}public static void m4(){System.out.println("使用static修饰的方法m4()");//静态方法可以直接访问静态方法m3();}
}
package com.kgc.se.demo04;/*** @JdkVersion: 17* @Author: 二白程序员* @Date 2024/4/11 13:52* QQ:1512015112* VX:18056394367*/public class MethodDemo02Test {public static void main(String[] args) {MethodDemo02 methodDemo02 = new MethodDemo02();//通过对象调用m1()方法methodDemo02.m1();System.out.println("-------------------------");//通过对象调用m2()方法methodDemo02.m2();System.out.println("-------------------------");//通过对象调用m3()静态方法methodDemo02.m3();//通过类名调用m3()静态方法MethodDemo02.m3();System.out.println("-------------------------");MethodDemo02.m4();}
}

这篇关于Java基础第十课——类与对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/894739

相关文章

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

springboot整合 xxl-job及使用步骤

《springboot整合xxl-job及使用步骤》XXL-JOB是一个分布式任务调度平台,用于解决分布式系统中的任务调度和管理问题,文章详细介绍了XXL-JOB的架构,包括调度中心、执行器和Web... 目录一、xxl-job是什么二、使用步骤1. 下载并运行管理端代码2. 访问管理页面,确认是否启动成功

Java中的密码加密方式

《Java中的密码加密方式》文章介绍了Java中使用MD5算法对密码进行加密的方法,以及如何通过加盐和多重加密来提高密码的安全性,MD5是一种不可逆的哈希算法,适合用于存储密码,因为其输出的摘要长度固... 目录Java的密码加密方式密码加密一般的应用方式是总结Java的密码加密方式密码加密【这里采用的

Java中ArrayList的8种浅拷贝方式示例代码

《Java中ArrayList的8种浅拷贝方式示例代码》:本文主要介绍Java中ArrayList的8种浅拷贝方式的相关资料,讲解了Java中ArrayList的浅拷贝概念,并详细分享了八种实现浅... 目录引言什么是浅拷贝?ArrayList 浅拷贝的重要性方法一:使用构造函数方法二:使用 addAll(

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b