Java 属性 方法 构造器 代码块

保姆级教程:用R语言自动化处理FAERS季度数据(从文件合并到删除废弃Case) 本文提供了一份详细的R语言教程,指导如何自动化处理FAERS季度数据,包括文件合并和删除废弃Case。通过使用tidyverse、fs等R包,构建健壮的自动化流程,特别适合药物安全监测领域的数据分析师。教程涵盖环境准备、智能合并多季度数据、精准删除废弃Case等关键步骤,并提供了错误处理与日志记录的实用技巧。 阅读详情

一.面向对象的三条主线
1.Java类及类的成员:属性,方法,构造器;代码块,内部类
2.面向对象的三大特征:封装性,继承性,多态性,(抽象性)
3.其他关键字:this, super, static, final, abstract, interface, import
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
二.面向对象的两个要素
类:对一类事物的描述,是抽象的,概念上的定义
对象:是实际存在的 该类事物的每一个个体,因而也称为实例
在这里插入图片描述
三.类的成员
属性 = 成员变量 = field = 域,字段
方法 = 成员方法 = 函数 = method
创建类的对象 = 类的实例化 = 实例化类
在这里插入图片描述
如果创建了一个类的多个对象,则每个对象都独立的有一套类的属性(非static的)。意味着:如果我们修改一个属性A的值,则不影响另一个属性A的值

四.对象的内存解析
在这里插入图片描述
在这里插入图片描述
五.类中属性的使用
变量的分类
在这里插入图片描述
在这里插入图片描述

属性(成员变量) vs 局部变量
(一)相同点
1.定义变量的格式相同:变量类型 变量名 = 变量值
2.先声明后使用
3.变量都有其对应的作用域

(二)不同点
1.在类中的声明位置不同
属性:直接定义在类的{}里
局部变量:声明在方法内,方法形参,代码块内,构造器形参,构造器内部的变量
2.关于权限修饰符的不同
属性:可以在声明属性时,指明其权限,可以使用权限修饰符
(常用的权限修饰符:private,public,缺省,protected)
局部变量:不可以使用权限修饰符
3.默认初始化值的情况
属性:类的属性,根据其类型,都有对应的默认值
整型(byte,short,int,long):0
浮点型(float,double):0.0
字符型(char):0或者是’\u0000’
布尔型(boolean):false
引用数据类型(类,数组,接口):null

局部变量:没有默认初始化值。意味着在调用之前,我们一定要显式赋值。特别地,形参在我们调用时赋值即可。
4.在内存中加载的位置不同
属性:堆空间中(非static)
局部变量:栈空间中

六.类中的方法声明和使用
方法:描述类应该具有的功能
在这里插入图片描述
在这里插入图片描述
(一)举例
在这里插入图片描述
(二)方法的声明
权限修饰符 返回值类型 方法名(形参列表){
方法体
}
注意:static,final,abstract来修饰方法
说明
1.权限修饰符:private,public,缺省,protected(封装性细讲)
2.返回值类型:有返回值 vs 没有返回值

  • 如果方法有返回值,则必须在方法声明时,指定返回值的类型。同时方法中,需要使用return关键字来返回指定类型的变量或常量
  • 如果方法没有返回值,在声明时使用void表示。通常不需要return,如果要则写成"return ;"表示结束此方法

3.形参列表
可为0个,1个,多个
格式:(数据类型1 形参1, 数据类型2 形参2)
4.方法体
主要方法功能的体现
(三)方法的使用

  • 可以调用当前类的属性,方法
  • 方法中不可以定义方法

六.JVM内存结构
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
七.万事万物皆对象

  • 在Java的范畴中,我们都将功能,结构等封装在类中,通过类的实例化,来调用具体的功能结构。
    Scanner, String等
    文件:File
    网络资源:URL
  • 涉及到Java语言与前端的Html,后端的数据库交互时,前后端的结构在Java层面交互时,都体现为类, 对象。

八.匿名对象
1.理解:创建的对象,没有显式的赋给一个变量名,即为匿名对象
2.特征:匿名对象只能调用一次

九.再谈方法
方法的重载
在这里插入图片描述
十.可变个数形参的方法
在这里插入图片描述
在这里插入图片描述
十一.方法参数的值传递机制

  • 变量的赋值
    变量是基本数据类型,赋值是变量所保存的数据
    变量是引用数据类型,赋值是变量所保存的数据的地址值
  • 方法的形参传递机制:值传递
    1.形参:方法定义时,声明的小括号内的参数
    实参:方法调用时,实际传给形参的数据
    2.值传递机制
    参数是基本数据类型,实参赋给形参的是实参真实存储的数据值
    (例子:典型的交换两个值)
    在这里插入图片描述
    参数是引用数据类型,实参赋给形参的是实参存储数据的地址值
    在这里插入图片描述
    十二.方法的重写
    1.重写:子类继承父类之后,可以对父类的同名同参数的方法进行覆盖操作。
    2.应用:重写以后,当创建子类对象之后,通过子类对象调用子父类中的同名同参数的方法时,实际上执行的是子类重写父类的方法。
    3.规定
    方法的声明: 权限修饰符 返回值类型 方法名(形参列表)throws 异常的类型{
    方法体
    }
    约定俗称:子类中的叫重写的方法,父类中叫被重写的方法。
    ①方法名和形参列表相同
    ②子类重写方法的权限修饰符不小于父类中被重写的权限修饰符。特殊情况:子类不能重写父类中声明为private权限的方法。
    ③返回值类型
  • 父类中被重写的方法返回值类型是void,则子类中的重写的方法返回值类型也只能是void。
  • 父类中被重写的方法返回值类型是A类,则类中的重写的方法返回值类型是A类或A的子类。
  • 父类中被重写的方法返回值类型是基本数据类型,则类中的重写的方法返回值类型必须是相同的基本数据类型。
    ④子类重写方法的抛出的异常类型不大于父类被重写方法的抛出的异常类型。
    ⑤子类和父类中的同名同参数的方法要么都声明为非static(考虑重写),要么都声明为static的(不是重写)。

构造器
一.作用

  1. 创建对象
    创建类的对象:new + 构造器
  2. 初始化对象的信息

二.说明

  1. 如果没有显式的定义类的构造器,则系统默认提供一个空参的构造器,构造器默认的权限就是类的权限。
  2. 定义构造器的格式:权限修饰符 类名(形参列表){}
  3. 一个类中定义的多个构造器,彼此构成重载。
  4. 一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空参构造器。
  5. 一个类中,至少有一个构造器。

三.属性赋值的先后顺序

  • 默认初始化
  • 显式初始化
  • 构造器中初始化
  • 通过"对象.属性"或"对象.方法"的方式来赋值
    前三个只执行一次,最后一个可以反反复复执行

JavaBean
在这里插入图片描述
UML类图
在这里插入图片描述

代码块(初始化块)
1.作用:用来初始化类,对象
2.如果有修饰的话,只能使用static。因而分为两类:静态代码块vs非静态代码块
(1)静态代码块

  • 内部可以有输出语句
  • 随着类的加载而执行,而且执行一次
  • 初始化类的信息
  • 如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行
  • 静态代码块的执行要优先于非静态代码块的执行
  • 静态代码块内只能调用静态的属性,静态的方法,不可以调用非静态的结构。
    (2)非静态代码块
  • 内部可以有输出语句
  • 随着对象的创建而执行
  • 每创建一个对象就执行一次非静态代码块。
  • 作用:可以在创建对象时,对对象的属性等进行初始化。
  • 如果一个类中定义了多个非静态代码块,则按照声明的先后顺序执行
  • 非静态代码块内可以调用非静态的结构,静态的结构。

对属性可以赋值的位置
①默认初始化
②显式初始化 / ⑤在代码块中赋值 (先写先执行)
③构造器中的初始化
④有了对象以后,可以通过"对象.属性"或者是"对象.方法"的方式,进行赋值。
执行的先后顺序:① – ② / ⑤ – ③ – ④

Python 爬虫实战:分析 AJAX 请求抓取搜狐新闻数据 在Web 2.0时代,大量网站采用AJAX技术实现动态内容加载。传统基于静态HTML解析的爬虫技术(如BeautifulSoup)已无法应对这类场景。本文将以搜狐新闻为实战目标,详解如何通过分析AJAX请求接口实现动态新闻数据的精准抓取。 阅读详情

相关推荐

从零构建知识图谱:本体工程与知识建模实战指南

本文是一份从零构建知识图谱的实战指南,重点阐述了知识建模与本体工程的核心地位。文章详细介绍了如何使用Protégé工具进行本体设计,包括定义领域、复用现有本体、构建类层次与属性约束,并讲解了如何利用D2RQ工具将关系数据库数据转换为RDF三元组,最终通过Apache Jena Fuseki搭建SPARQL端点进行知识查询与推理,让知识图谱真正“活”起来。

weixin_29057695的博客 572

Java类的成员:属性、方法、构造器、代码块、内部类

目录1、方法的定义2、方法的重载3、方法参数的值传递机制关于变量的赋值值传递机制例子权限+返回值+方法名+(参数(可有可无)){}(1)概念:类相同,方法名相同,参数列表不同(参数类型,参数个数,参数顺序)。(2)与返回值、参数变量名、权限无关。 3、方法参数的值传递机制 引用数据类型:类,数组,接口。如果变量是基本数据类型,此时赋值保存但是变量所保存的数据值。2如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。如果参数是基本数据类型,此时实赋给形参的是实参真实存储的数据值

qq_49040605的博客 876

(论文速读)PTV3: 更简单、更快速、更强大的3D点云处理新突破

该论文提出PointTransformerV3(PTv3),通过简化设计实现3D点云处理的效率突破。该研究摒弃复杂注意力机制,转而采用点云序列化和补丁注意力等高效方法,将感受野从16点扩展到1024点,在保持高精度的同时实现3倍速度提升和10倍内存优化。PTv3在超过20个室内外场景任务中取得SOTA结果,ScanNet语义分割达79.4%mIoU,Waymo检测提升3.3%APH。核心创新包括四种空间填充曲线序列化模式和xCPE位置编码,为3D感知的工业应用提供了高效解决方案。

LJ1147517021的博客 1378

Java中的构造器

构造器是一种特殊的方法,它与类同名,没有返回类型(甚至不写void),用于初始化对象。构造器在对象创建时由Java虚拟机(JVM)自动调用,确保对象的初始状态。构造器是Java中用于创建和初始化对象的重要方法。通过构造器,可以确保对象在创建时有一个有效的初始状态。理解构造器的工作原理、类型及其重载用法,有助于编写更灵活、可维护的代码。在实际开发中,合理使用构造器,能够提升代码的清晰度和可读性。

muxiuyulin871的博客 4866

Android 面试题 Handler篇

1.Handler的实现原理。

ViewHandKownHealth的博客 955

python pyusb与硬件 下位机通信

python pyusb 与硬件 下位机 通讯

yuhang01的博客 952

变量、方法、构造器

1、属性 1.1成员变量–对象 随着对象的创建而产生,分配在堆空间; 每个对象独立拥有一份实例变量,通过对象.属性修改此实例变量; 可以声明权限修饰符;修饰符有:public 、缺省 、protected、private 1.2 静态成员变量–类 采用static关键词修饰;采用类名 . 类变量的方法调用; 随着类的加载而产生,分配在方法区,类变量早于方法的创建; 类变量为类的所有对象共享,一经改变,后续调用为改变后的值; 1.3 局部变量 局部变量声明在:方法体中、方法的形参、内部类、代码块、构造器(构造

kk阿彬 365

【PostgreSQL教程】PostgreSQL 高级篇之子查询

子查询也可称为内部查询、嵌套查询,指的是在 PostgreSQL 查询中的 WHERE 子句中嵌入查询语句。一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询可以与 SELECT、INSERT、UPDATE 和 DELETE 语句一起使用,并可使用运算符如 =、、>=、

No8g攻城狮的博客 1206

java 内部类

在Java中,可以将一个类定义在另一个类里面或者一个方法里边,这样的类称为内部类,广泛意义上的内部类一般包括四种:成员内部类,局部内部类,匿名内部类,静态内部类 。 1.成员内部类 (1)该类像是外部类的一个成员,可以无条件的访问外部类的所有成员属性和成员方法(包括private成员和静态成员); (2)成员内部类拥有与外部类同名的成员变量时,会发生隐藏现象,即默认情况下访问的是成...

aiqing2015的博客 431

华为OD机考双机位C卷 - 构成正方形的数量 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 成正方形的数量 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 5939

码农新宠大对决:GitHub Copilot、通义灵码和CodeLlama谁主沉浮?

本文对三款主流AI编程工具GitHub Copilot、通义灵码和CodeLlama进行了全面对比分析。GitHub Copilot在多语言支持和代码质量上表现突出;通义灵码在中文理解和阿里云生态集成方面优势明显;CodeLlama则以开源可定制见长。文章从代码生成、理解能力、多语言支持、使用体验等维度展开评测,并结合实际案例说明不同开发者群体的适用选择。建议新手可优先考虑通义灵码,经验开发者适合GitHub Copilot,而有定制需求的企业团队则可选择CodeLlama。随着AI技术发展,这些工具将持续

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 675

三个例子彻底搞懂Java类属性,代码块,构造方法的执行顺序

两个列子彻底搞懂Java类属性,代码块,构造方法的执行顺序 对于标题所述的加载顺序,可能有些同学和我一样知道静态属性和代码块先加载,非静态属性和代码块其次加载,最后才是构造方法加载。但并没有深入的去了解它。那么我们带着两个问题去看待这个加载顺序。 是否有可能非静态代码块先于静态方法加载? 如果子类继承了父类,那么其加载顺序又是怎样的呢? 对于第一个问题我们直接上一个列子。 public c...

qq_18236059的博客 1415

推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统相关算法流程、衡量指标和应用,以及如何使用jieba分词库进行相似推荐,业界广告推荐技术最新进展

推荐算法其实本质上是一种信息处理逻辑,当获取了用户与内容的信息之后,按照一定的逻辑处理信息后,产生推荐结果。热度排行榜就是最简单的一种推荐方法,它依赖的逻辑就是当一个内容被大多数用户喜欢,那大概率其他用户也会喜欢。但是基于粗放的推荐往往会不够精确,想要挖掘用户个性化的,小众化的兴趣,需要制定复杂的规则运算逻辑,并由机器完成。召回:当用户以及内容量比较大的时候,往往先通过召回策略,将百万量级的内容先缩小到百量级。

丨汀、的博客 7594

【Java基础】类的成员总结(属性,方法,构造器,代码块,内部类)

类的成员总结 1.属性 属性 = 成员变量 = field = 域、字段 类中属性的使用 属性(成员变量) vs 局部变量 1.相同点: 1.1 定义变量的格式:数据类型 变量名 = 变量值 1.2 先声明,后使用 1.3 变量都有其对应的作用域 2.不同点: 2.1 在类中声明的位置的不同 属性:直接定义在类的一对{}内 局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量 2.2 关于权限修饰符的不同 属性:可以在声明属性时,指明其权限,使用权限修饰符。 ....

唯有努力,方可自信! 1782

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java基础:04面向对象——类的成员(属性,方法,构造器,代码块,内部类)

Java基础:04面向对象——类的成员(方法)类的成员之: 方法(method)1. return关键字:2. 方法的重载(overload)3. 可变个数的形参4. 方法参数的值传递机制5. 递归(recursion)方法 类的成员之: 方法(method) ①方法的格式: ②方法的使用: 1. return关键字: 1.使用范围:使用在方法体中 2.作用:① 结束方法 ② 针对于返回值类型的方法,使用"return 数据"方法返回所要的数据。 3.注意点:return关键字后面不可以声明执行语句。

momotouguang的博客 471

java面向对象编程1——类及类的成员:属性、方法、构造器、代码块、内部类

java面向对象编程1——类及类的成员:属性、方法、构造器、代码块、内部类

Etlevent的博客 466

Java面向对象一:属性、方法、构造器、内部类、代码块

Java面向对象:属性、方法、构造器、内部类、代码块的概述

weixin_46931860的博客 330

java面向对象编程(3) 类中的五大成员:属性,方法,构造器,代码块,內部类 && 实例化对象时的执行顺序

类中的五大成员 属性 方法 构造器 代码块 內部类 public class ClassMembers { //属性 public String name; static { System.out.println("静态代码块"); } { System.out.println("非静态代码块"); } public ClassMembers() { System.out.println("无参构造器"); } public ClassMembers(Stri

北冥有鱼 267

类的结构:属性、方法、构造器,代码块,内部类

一、类的结构之一:属性 field 类的设计中,两个重要结构之一:属性 对比:属性 vs 局部变量 1.相同点: * 1.1 定义变量的格式:数据类型 变量名 = 变量值 * 1.2 先声明,后使用 * 1.3 变量都有其对应的作用域 2.不同点: 2.1 在类中声明的位置的不同 * 属性:直接定义在类的一对{}内 * 局部变量:声明在类的结构内(方法内、方法形参、代码块内、构造器形参、...

habe33的博客 2966

java中静态代码块,实例代码块,构造器优先执行顺序

1. 案例一 package cn.tedu.oop; class ClassCC{ static ClassCC instance = new ClassCC();//属于静态成员 static {//属于静态成员,静态代码块在类加载时可以初始化,假如有多个静态成员,则会按照编写的顺序执行 System.out.println("static{}"); } {//实例代码块(每次构建对象都会执行) //实例代码块,每次生成类实例都会执行,并

weixin_43187081的博客 1264

【尚硅谷-Java学习】6.6 类的结构之四 代码块

格式 代码块用一对大括号表示: class Person{ { //代码块 } } 使用 用来初始化类、对象 如果有修饰的话,只能用 static 非静态代码块 可以有输出语句 随着对象的创建而执行,每创建一个对象就执行一次 可以在创建对象时,对对象的属性进行初始化 如果定义了多个非静态代码块,按照先后顺序执行 可以调用静态属性/方法,也可调用非静态属性/方法 静态代码块 可以有输出语句 随着类的加载而执行。仅执行一次 初始化类的属性 如果定义了多个静态代码块,按照先后顺序执行 静态代

cazenove的博客 290

代码块/属性及方法/构造器/继承关系 优先级

基本原理1 代码实现1 public class Demo { public static void main(String[] args) { A a1=new A();//A中静态代码块被调用(A类首次加载) A中普通代码块被调用 A a2=new A();//A中普通代码块被调用 System.out.println("------------------"); B b=new B();//B中静态代码块...

qq_40979103的博客 298

静态变量、静态代码块、普通属性、代码块、构造器 的执行顺序

静态变量==静态代码块》代码块>构造器。

littlefu2017的博客 492

java类的五大特性(属性,方法,构造器,代码块,内部类)之内部类详解

java类有五大特效,属性,方法,构造器,代码块,内部类。 本文主要介绍的便是其中的内部类。 内部类的使用目的:减少代码的冗余量简化开发 内部类根据其所在的位置和相应语法有着不同的分类,其中主要可划分为以下四类:.........

qq_54870665的博客 1172

11.java的代码块执行优先级,普通的按先后顺序

1

computer408的博客 883

对于Java代码块(详解)

【1】类的组成:属性,方法,构造器,代码块,内部类 【2】代码块分类:普通块,构造块,静态块,同步块(多线程) 【3】代码: public class Test { //属性 int a; static int sa; //方法 public void a(){ System.out.println("-----a"); { //普通块限制了局部变量的作用范围 System.out.pri

花伤情犹在的博客 539

Java类及类的成员

属性 对应类中的成员变量 属性和局部变量的对比: 1,相同点: 1.1定义变量的格式:数据类型 变量名 = 变量值 1.2先声明,后使用 1.3变量都有其对应的作用域 2,不同点: 2.1在类中声明的位置不同 属性:直接定义在类的一对{}内 局部变量:声明在方法内,方法形参,代码块内,构造器形参,构造内部的变量 2.2关于权限修饰符的不同 属性:可以在声明属性时,指明其权限,使用权限修饰符 常用的权限修饰符:private、public、缺省、protected (目前,声明属性时,使用缺省就可) 局部变

qq_44778656的博客 458

Java基础编程之面向对象之类与类的成员

类与类的成员 一、属性 1、变量的分类 1)、成员变量 实列变量 不以static修饰 1、先声明,后使用; 2、实例变量有其所在的一个作用域{},只有在其定义的作用域中有效; 3、随着对象的创建而产生,分配在堆空间; 4、可以采用默认初始化,也可以采用其他方式进行初始化; 5、每个对象均拥有一份实例变量,通过 “对象.属性” 修改此实例变量; 6、可以声明权限修饰符;修饰符有:public 、 缺省、protected、private。 类变量 用static修饰 1、采用stat

weixin_50522909的博客 275
上一篇: Java 数组
下一篇: Java 面向对象的三大特征
ZoeLandia
博客等级 码龄6年 734粉丝 183原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值