2.4 创建新的数据类型 类(class)
如果一切都是对象,那么是什么决定了某一类对象的外观与行为呢?换句话说,是什么确定了对象的类型?class这个关键字表示“我准备告诉你一种心类型的对象的确定”。
class ATypeName {
/* Class body goes here */
}
一旦定义了一个类,就可以在类中设置两种类型的元素:
-
字段:有时被称为数据成员
-
方法:又是被称为成员函数
如何引用一个对象的成员。具体的实现为:在对象引用的名称之后紧接着一个句点(.),然后再接着是对象内部的成员名称:
若类的某个成员是基本数据类型,即使没有进行初始化,Java也会确保它获得一个默认值。然而确保初始化的方法并不适用与”局部“变量。
2.5 方法,参数,返回指
Java的方法决定了一个对象能够接收什么样的消息。方法的基本组成部分包括:名称,参数,返回值,方法体。
ReturnType methodName ( /* Argument list */ ) {
/* Mehton body */
}
Java中的方法只能作为类的一部分来创建。方法只有通过对象才能被调用。
这种调用方法的行为通常被称为发送消息给对象。面向对象的程序设计通常简单地归纳为:向对象发送消息
2.5.1 参数列表
方法的参数列表指定要传递给方法什么样的消息。这写信息像Java中的其他信息一样,采用的都是对象形式。像Java中任何传递对象的场合一样,这里传递都的实际上也是引用(基本数据类型除外),并且引用的类型必须正确。
你可以定义方法返回任意想要的类型,如果不想返回任何值,可以指示此方法返回void(空)
2.6 构建一个Java程序的其他要点
2.6.1 名字可见性
Java采用了一种全新的方法来避免命名冲突的问题。为了给一个类库生成不会与其他名字混淆,冲突的名字,Java设计者希望程序员反过来使用自己的Internet域名,因为这样可以保证它们肯定是独一无二的。
2.6.2 运用其他构件
如果想在自己的程序里使用预先定义好的类,那么编译器就必须知道怎么定位它们:
- 这个类可能就在发出调用的那个源文件中,在这种情况下,就可以直接使用这个类。
- 如果那么类位于其他文件中,可以使用关键字import来准确的告诉编译器你想要的类是什么。
import java.util.ArrayList;
import java.util.*;
2.6.3 static 关键字
有两种情况:
- 只想为某特定域分配单一存储空间,而不去考虑究竟要创建多少对象,甚至根本就不创建任何对象。
- 希望某个方法不与包含它的任何对象关联在一起。也就是说,即使没有创建对象,也能够调用这个方法。
通过static关键字可以满足这两方面的需要。
class StaticTest {
static int i = 47;
}
StaticTest st1 = new StaticTest();
StaticTest st2 = new StaticTest();
以上两个对象共享同一个 i ,因此 st1.i st2.i 的值都为 47。
引用static 变量有两种方法:
- 可以通过一个对象去定位它 st2.i
- 可以通过类名直接引用 StaticTest.i
类似逻辑也应用与静态方法。
尽管当static作用于某个字段时,肯定会改变数据创建的方式,但是如果static作用于某个方法,差别却没有那么大。static方法的一个重要用法就是在不创建任何对象的前提下就可以调用它。
本文首发自:一切都是对象笔记-蜘蛛网间
分享到:
相关推荐
【Python学习笔记--皮大庆.pdf.zip】是一个针对初学者的Python编程教程,源自英文书籍《How to think like a computer scientist》。这本书以易懂的方式介绍了Python语言的基础知识,旨在帮助没有编程背景的人快速...
带书签_Python 学习笔记-雨痕-第二版,本笔记分为三个部分(Python语言、标准库和扩展库)以及附录。其中,Python语言部分包括基本环境、内置类型、表达式、函数、迭代器、模块、类、异常、装饰器、描述符和元类。 ...
02-第二天笔记.md
冰河整理的全网首个开源的以实战案例为背景的渗透实战笔记,全书共442页,共计37万字(不计空格)。整本书的内容涵盖:Kali基础、渗透工具、木马制作、钓鱼链接生成、爆破密码、内存溢出攻击、web渗透、数据提权、...
JAVA学习笔记-第七章 面向对象中级(二)
HotApp云笔记 - 精品开源demo-基于免费API(源代码+截图)HotApp云笔记 - 精品开源demo-基于免费API(源代码+截图)HotApp云笔记 - 精品开源demo-基于免费API(源代码+截图)HotApp云笔记 - 精品开源demo-基于免费API(源...
DAMA学习笔记-第01-17章细化第5章数据建模较多内容
Flask快速入门精品课程-笔记-123.zipFlask快速入门精品课程-笔记-123.zipFlask快速入门精品课程-笔记-123.zipFlask快速入门精品课程-笔记-123.zipFlask快速入门精品课程-笔记-123.zipFlask快速入门精品课程-笔记-123...
Java基础每日复习笔记-JavaSE高级阶段.2020-10-13-211312.edf
概率论与数理统计-手写笔记-期末考试复习概率论与数理统计-手写笔记-期末考试复习概率论与数理统计-手写笔记-期末考试复习概率论与数理统计-手写笔记-期末考试复习概率论与数理统计-手写笔记-期末考试复习概率论与...
在面向对象编程中,对象是软件的核心,它们包含了数据(属性)和操作这些数据的方法(行为)。这种思维方式使得程序设计更接近现实世界的问题解决方式,更具可读性和可扩展性。 类是面向对象编程的基础。类是对具有...
根据《Redis笔记-尚硅谷周阳V1.3》整理,脑图、思维导图xmind
统计学习方法笔记-基于Python算法实现。统计学习方法笔记-基于Python算法实现 所有代码均可直接运行。统计学习方法笔记-基于Python算法实现。统计学习方法笔记-基于Python算法实现 所有代码均可直接运行。统计学习...
《技术人的管理之路》读书笔记 --思维导图 《技术人的管理之路》读书笔记 --思维导图 《技术人的管理之路》读书笔记 --思维导图 《技术人的管理之路》读书笔记 --思维导图 《技术人的管理之路》读书笔记 --思维导图 ...
嵌入式Liunx应用程序开发笔记-代码.zip嵌入式Liunx应用程序开发笔记-代码.zip嵌入式Liunx应用程序开发笔记-代码.zip嵌入式Liunx应用程序开发笔记-代码.zip嵌入式Liunx应用程序开发笔记-代码.zip嵌入式Liunx应用程序...
在本压缩包“JAVA笔记-第二章.rar”中,我们可以预见到这是一份关于Java编程语言的详细学习资料,特别是集中在第二章的内容。虽然没有具体的标签来指明讨论的主题,但通常Java的学习路径会涉及基础语法、面向对象...
通信电子电路(高频-模电PLUS)-手写笔记-期末考试复习通信电子电路(高频-模电PLUS)-手写笔记-期末考试复习通信电子电路(高频-模电PLUS)-手写笔记-期末考试复习通信电子电路(高频-模电PLUS)-手写笔记-期末考试...
新版Android开发教程&笔记--基础入门二 新版Android开发教程&笔记三--环境搭建与解析 新版Android开发教程&笔记四--Dalvik ADB 新版Android开发教程+笔记五--模拟器、应用1、2 新版Android开发教程+笔记六--应用3、4...
Jsp-Servlet复习笔记-----第3章 Servlet技术 - 堕落天使 - JavaEye技术网站.mhtJsp-Servlet复习笔记-----第3章 Servlet技术 - 堕落天使 - JavaEye技术网站.mht