java知识总结(二)类和对象

Java头歌 2.3 类和对象-练习3 现代社会,单位面试都会要求做一个自我介绍,介绍个人的名字、年龄、学历、职位等等。这可让某些人犯了难,聪明的你可以帮助他们写一个可以自我介绍的程序么? 阅读详情

java总结二 类和对象

首先建一个Demo类作为示例

public class Demo {//类
	//属性(成员变量)
	private int sex;//私有的成员变量
	//方法(成员函数)
	public int getSex() {
		return sex;
	}
	public void setSex(int sex) {
		this.sex = sex;
	}
	//构造函数
	Demo(){
		
	}
}

要点一:

Demo就是一个类,而对象就是把Demo实例化。相当于Demo就是一个蓝本,我们要使用原材料(内存空间、数据等)将Demo展现出来。如:

Demo demo = new Demo();//demo就是实例化的对象
demo.getSex();//这就是demo对象的一个行为

注:在实际开发中,Demo类的属性(sex)通常被用来存储数据,而get、set方法用来操作对象的属性。这也是约定俗成的一个规范。

要点二:

构造函数:给与之对应的对象进行初始化(new Demo),所有对象创建时,必须初始化之后才能使用。构造函数通常有如下特点:

1、函数名与类名相同 

2、不需要定义返回类型 

3、没有明确的返回值

注:所有的类都有默认的构造函数,通常这个构造函数是无参数的。如果我们定义了新的构造函数,那么在实例化的时候就会使用我们定义的构造函数。构造函数在实例化的时候调用,并且只会调用一次。

要点三:

为什么要使用面向对象?

1、将事情简单化

2、将之前过程中的指挥者变成执行者

3、符合现在人们的思维方式

在Demo中,sex和关于sex的一些方法被封装到Demo中,这就称为对象的封装。当实例化Demo之后,实例化的Demo就可以操作sex的方法,这被称为对象的行为。

要点四:

在实际编程中,我们经常会用到例如:

new Demo().getSex();
对Demo进行这样的使用,这里实例化的对象称为匿名对象,在只使用一次的情况下可以这样使用。

要点五:

创建一个对象的过程:

1、加载文件到内存
2、执行main方法时,在栈内存中开辟了main方法的空间(压栈-进栈),然后在main方法的栈区分配了一个变量p。
3、在堆内存中开辟一个实体空间,分配了一个内存首地址值。new
4、在该实体空间中进行属性的空间分配,并进行了默认初始化。
5、对空间中的属性进行显示初始化。
6、进行实体的构造代码块初始化。
7、调用该实体对应的构造函数,进行构造函数初始化。()
8、将首地址赋值给p ,p变量就引用了该实体。(指向了该对象)

要点六

类的访问权限

public:
1、对于成员来说:任何其他类都可以访问它们,不管在同一个包中还是在另外的包中。
对于类来说:    也是一样。
2、无声明:
对于成员来说:如果一个类的成员没有任何权限修饰,那么它门就是缺省包访问权限,同一个包内其它类可以访问,但包外就不可以。对于同一个文件夹下的、没有用package的classes,Java会自动将这些classes初见为隶属于该目录的default package,可以相互调用class中的friendly成员。如以下两个class分别在同一个文件夹的两个文件中,虽然没有引入package,但隶属于相同的default package。
对于类来说:同一个包中的类可以用。总之,类只可以声明为public或者无声明。
3、private:
对于对于成员来说:只能在该成员隶属于的类中访问。
对于类来说:类不可以声明为private。
4、protected:
对于对于成员来说:相同包中的类可以访问(包访问权限);基类通过protected把基类中的成员的访问权限赋予派生类不是所有类(派生类访问权限)。
对于类来说:类不可以声明为protected
说明:
1、每个编译单元(类文件)都仅能有一个public class
2、public class的名称(包含大小写)必须和其类文件同名。
3、一个类文件(*.java)中可以不存在public class。
   这种形式的存在的场景:如果我们在某个包内撰写一个class,仅仅是为了配合同包内的其他类工作,而且我们不想再为了撰写说明文档给客户(不一定是现实意义的客户可      能是调用这个类的类)看而伤脑筋,而且有可能过一段时间之后有可能会彻底改变原有的做法,并完全舍弃旧版本,以全新的版本代替。
4、class不可以是private和protected。
5、如果不希望那个任何产生某个class的对象,可以将该类得所有构造函数设置成private。但是即使这样也可以生成该类的对象,就是class的static的成员(属性和方法)可以办到。



头歌 实验二 Java类编程实验 类的设计 Object类 对象的创建与构造方法 对象引用变量与对象关系 静态空间与实例空间 Math类 Random类 构造方法 对象的 this 引用 set和get方法 阅读详情

相关推荐

MiniMax H3本地部署与ComfyUI集成实战:从环境配置到提示词优化

文本到视频生成是AI内容创作领域的关键技术,它基于扩散模型等深度学习原理,将自然语言描述转化为连贯的动态视觉序列。这项技术的核心价值在于大幅降低了视频制作的门槛,为短视频创作、概念可视化、教育内容生成等场景提供了高效工具。在实际工程实践中,成功部署和运行此类模型,如近期备受关注的MiniMax H3,需要精准处理环境配置、显存优化和提示词工程等环节。其中,解决“CUDA error: no kernel image is available”等版本兼容性问题,以及针对“8G显存”等有限资源进行参数调优,是确

weixin_33674976的博客 478

JVM面试题详解系列——Java 对象的创建过程

JVM面试题详解系列——Java 对象的创建过程

m0_51431003的博客 3175

AI 推理与服务(AI Inference and Serving)

AI 推理和服务是现代分布式系统中的重要组成部分。通过合理应用 AI 推理和服务的最佳实践,可以显著提高系统的智能性和用户体验。本章介绍了 AI 推理和服务的核心概念、最佳实践以及在分布式系统中的应用,希望这些内容能帮助您构建更智能、更高效的分布式系统。

蜗牛沐雨 1382

对象创建的过程

不可变对象指对象一旦被创建,状态就不能再改变,任何修改都会创建一个新的对象。如StringInteger及其它包装类;不可变对象最大的好处是线程安全。

张紫娃的博客 1421

Win11安装Office2021

windows11安装office2021。

1万+

保姆级教程:用Python+OpenCV实现相移法与格雷码三维重建(从生成条纹到点云生成)

本文详细介绍了使用Python和OpenCV实现相移法与格雷码三维重建的全流程,从条纹生成到点云计算。通过结构光技术,结合相移法和格雷码,实现高精度的三维重建,适用于无纹理物体表面的密集对应点生成。教程包含环境搭建、条纹生成、相位计算、三维点云重建及常见问题排查,适合计算机视觉开发者和研究人员。

weixin_33443333的博客 349

【Java】关于Java对象的创建过程

简要分析Java中对象的创建过程

qq_53070263的博客 5441

《C语言小游戏之贪吃蛇程序代码》

//为广大编程游戏爱好者提供一个参考的游戏源代码#include<stdio.h>#include<conio.h>#include<windows.h>#include<time.h>#define framex 5#define framey 5#define wide 20#define high 20int i,j,a[2];//将光标移动到...

qq_42052821的博客 2万+

创建对象的步骤

一 创建对象的步骤图解 二说明 1 判断对象对应的类是否加载、链接、初始化。 虚拟机遇到一条 new 指令,首先去检查这个指令的参数能否在 Metaspace 的常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载,解析和初始化。(即判断类元信息是否存在)。如果没有,那么在双亲委派模式下,使用当前类加载器以 ClassLoader + 包名 + 类名 为 key 进行查找对应的 .class文件,如果没有找到文件,则抛出 ClassNotFoundException 异.

实践求真知 4048

浅谈IC测试向量(pattern)及其转换

随着集成电路的飞速发展,其规模越来越大,对电路的质量与可靠性要求进一步提高,集成电路的测试方法也变得越来越困难,为了实现芯片的快速测试和筛选,ATE设备为其提供了强有力的支撑。ATE运用芯片设计仿真文件,将其作为芯片输入激励,通过ATE测试平台提供芯片测试环境,将芯片的输出和测试结果进行比较,以此来判定芯片的好坏。 说起IC测试,不得不说一下Pattern这个词,它中文的意思是模式。在图像处理中,这个词意思为图像的纹理特征,而在IC也即芯片测试行业,这个词实际上代表了需要测试芯片的时序特征。简单的说,在测

flomingo1的专栏 1万+

海康威视SADP SDK实战:5分钟搞定局域网设备搜索(附C++代码示例)

本文详细解析了海康威视SADP SDK在局域网设备搜索中的高效应用,通过C++代码示例展示如何快速实现设备发现与信息获取。SADP协议支持全面设备信息采集和实时状态更新,适用于智能安防和物联网管理场景,帮助开发者5分钟内完成设备搜索功能集成。

rum55的博客 873

对象的创建过程

Object o = new Object(); 创建对象分为3步: 1、new–>申请一段内存空间,此时对象的属性值都是默认值,对象还处于半成品状态; 2、调用构造方法,初始化对象,给对象中的各属性赋值,赋值完后,该对象才是完整的对象,中间有个半初始化状态; 3、建立关联,将对象的地址值赋给o,t在未压缩的情况下64位,压缩的情况下32位 ...

yigan123的博客 2912

人工智能---什么是Transformer?

Transformer是一种强大的神经网络架构,最初由Google的研究人员在论文《Attention is All You Need》中提出,用于自然语言处理任务,特别是在机器翻译方面取得了巨大成功。Transformer的核心思想是完全基于自注意力机制(self-attention mechanism)来实现序列到序列(sequence-to-sequence)的学习。它在自然语言处理(NLP)和其他序列到序列任务中表现出色,逐渐成为该领域的主流模型。近些年也逐渐在自动驾驶领域有所应用。

智能汽车人的博客 3955

Java基础知识点汇总 二 类和对象

声明类 声明成员变量 定义方法 为您的类提供构造函数 将信息传递给方法或构造函数 嵌套类

学以致用 知行合一 580

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【JAVA】十、基础知识“类和对象”干货分享~(二)

精心讲解java类和对象中this引用,构造方法的知识点,小白也能看懂,关于this引用,构造方法进行了超详细描述,有例子说明,代码理解,画图记忆,方便刚学的友友们学习~想理解this引用,构造方法知识点看这一篇文章就够了~

Practice makes perfect 1549

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java基础知识(二 对象和类)

1、对象有状态和行为。对象的状态就是属性,行为通过方法体现; 2、类可以看成是创建Java对象的模板。 3、一个类可以包含以下类型变量: 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定

lin5505的博客 325

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

JAVA类与对象知识整理_java学习笔记系列【二】补充(类和对象知识的补充。)...

上次咋讲述的那个“类和对象在内存中的表现形式”。笔者后来回家进行校对后发现遗漏一个例子。赶忙写篇手记把补上。。在该例子中,我们创建2个类:Employee 和 EmployeeMessageEmployee.java文件代码:import java.io.*;public class Employee{ //定义Employee类。(雇员)String name; //定义name属性.int...

weixin_34326484的博客 159

类与对象知识点总结

1.类与对象 oop语言:Objict-Oriented-…面向对象编程 oop语言特征:继承 封装 多态 面向过程:C 处理小问题。 面向对象:C++,Java 处理规模较大的问题 class 类名{ 属性:定义在类的内部,在方法的外部 行为:方法 } 属性数据成员: 实例化成员 静态数据成员 2.实例化 一个类可以实例化多个对象 通过new 实例化:Person per ...

Nyitong的博客 350

Java类和对象知识点的整理

通过学习视频,特意写下此次博客。本次博客目的是为了理解面向对象的思想,掌握面向对象的基本原则以及 Java 面向对象编程基本实现原理,熟练使用封装、继承、多态面向对象三大特性。仅是博主本人总结,可能会有很多不足之处,希望读者可以有目的的阅读。 一、类和对象 1.面向对象 (1)面向对象的理解 面向对象是已对象为基础,完成各种操作主要强调对象。 (2)面向对象的特点 面向对象是一种常见的思想,...

陌若安生的博客 1万+

【JAVA】类和对象

万字详解JAVA中的类和对象,你确定不要看看?

做梦都想要三十万年薪~ 4137

【Java】认识类和对象

Java是一门纯面向对象的语言(Object Oriented Program,继承OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。

trong_ 的烂笔头 1895

java类和对象

自己对于类和对象的一点见解,后面会持续更新

qq_52592775的博客 5959

Java类和对象

面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干 啥),描述完成后计算机就可以识别了在java中定义类时需要用到class关键字,具体语法如下// 创建类field;// 字段(属性) 或者 成员变量method;// 行为 或者 成员方法class为定义类的关键字,ClassName为类的名字,{}中为类的主体。(关键字+类的名称+主体)//外卖平台// 食品// 商家。

2301_80176093的博客 2854

Java 类和对象详解(上 )

类与对象的学习是一个碎片化的过程,知识是很碎片的拼凑,所以今天小编整理了类和对象的详细知识,通过是什么,怎么做,慢慢走进类与对象,希望给你带来帮助!面向对象 和 我们过去的 面向过程有什么区别呢?可以这么说,把大象塞进冰箱里分为几步?1.打开冰箱2.把大象塞进去3.关上冰箱门至于我怎么把大象塞进冰箱里的,我并不关心,因为我不面向过程。同样的,在面向对象时,我们并不关心过程,只需要把过程交给"对象"去做。面向对象程序设计的主要步骤是:定义类->用类创建对象。别急,下面我们来深入讲讲。

2401_83779763的博客 2747

Java知识点——类和对象

面相对象程序设计关注的是对象,而对象是现实生活中的实体,比如:洗衣机。但是洗衣机计算机并不认识,需要开发人员告诉给计算机什么是洗衣机,也就是把具体的事物抽象化,并且让计算机可以理解在java中定义类时需要用到class关键字,具体语法如下// 创建类field;// 字段(属性) 或者 成员变量method;// 行为 或者 成员方法class为定义类的关键字,ClassName为类的名字,{}中为类的主体。类中包含的内容称为成员变量成员方法主要说明类具有那些功能,称为类的成员方法。

qq_69611919的博客 811
上一篇: java知识总结(一)java基础知识
下一篇: java知识总结(三)封装、继承和多态
海之沐
博客等级 码龄12年 1536粉丝 71原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值