第六周学习笔记DAY.3-Java认识类和对象

2024-04-11 16:36

本文主要是介绍第六周学习笔记DAY.3-Java认识类和对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学完这部分内容后,要求能够:

会创建类和对象

掌握面向对象的三大特性:封装、继承、多态

掌握抽象类和接口的使用 掌握程序中的异常处理

会使用面向对象思想进行编程

学完本次课程后,要求能够:

掌握类和创建对象的关系

定义类

定义对象

定义和调用方法

结构化开发

面向功能划分软件结构

自顶而下

最小的子系统是方法

制约了软件的可维护性和可扩展性

面向对象开发

把软件系统看成各种对象的集合

系统结构较稳定

子系统相对独立

软件可重用性、可维护性和可扩展性强

对象的特征

属性:对象具有的各种特征,每个对象的每个属性都拥有特征值

方法:对象执行的操作

对象:用来描述客观事物的一个实体,由一组属性和方法构成

类和对象的关系

类是抽象的概念,仅仅是模板

对象是一个你能够看得到、摸得着的具体实体

所有Java程序都以类class为组织单元

关键字class定义自定义的数据类型

类将现实世界中的概念都模拟到计算机程序中

定义类

定义类的语法:
访问权限修饰符 class 类名{
 定义属性
 访问权限修饰符 数据类型 属性名[=数据];

 定义方法
 访问权限修饰符 返回值类型 方法名([参数列表]){
 方法体代码块;
 }
 }

注意:
 1)类的访问权限修饰符可以是public(公共的)、默认修饰符(什么都不写,也不写default)
 2)类名采用大驼峰命名法(当类的名称由多个英文单词组成的时候, 每个单词的首字母都要使用大写字母)
 3)类名要做到见名知意,通过类名就知道该类描述的对象信息

定义属性

定义属性

语法规则:
 访问权限修饰符 数据类型 属性名[=数据];
组成部分说明:
 1)访问权限修饰符:描述该属性可以作用的范围,常用值有:
 public:公共的,可以在任意地方被访问
 protected :受保护的,可以被同一个包中的子类访问
 默认修饰符:什么都不写,可以被同一个包中给的类访问
 private:私有的,只能在当前类中被访问
 2)数据类型:描述该属性的数据类型。
 可以是8大基本数据类型,也可以是3大引用数据类型
 3)属性名:描述属性的名称
 属性名的命名规则与变量命名规则一致
 4)[=数据]:描述属性的值
 属性名之后可以给其赋值,也可以不赋值,一般情况都不赋值。如果你赋值了,那么通过该类创建出来的对象的该属性值都相同

 

定义方法

定义方法

语法规则:
访问权限修饰符 返回值类型 方法名([参数列表]){
 方法体代码块;
 }
组成部分说明:
 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)第三种方式:创建对象调用
 在其他类中调用某个类里面的方法时,需要先创建方法所在类的对象,然后通过对象名调用方法

 

这篇关于第六周学习笔记DAY.3-Java认识类和对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06