3.1 类

类在Java语言中是一种最基本的引用数据类型,是组成Java程序的基本要素。具有相同属性(状态)和方法(行为)的一组对象的集合称为类,其内部包括属性和方法两个主要部分。

3.11 类的定义

类是一种引用数据类型,用户必须先定义类,然后用它声明类实例;而简单数据类型由Java系统定义,用户可以直接使用它定义数据,这是类和简单数据类型的区别。

  一个类的定义包含两部分:类声明和类体。

[类修饰符] class 类名 [extends 父类名] [implements 接口名列表]    //类声明
{ // 类体说明
[声明成员变量;]
[声明方法;]
}

1. 类声明

class为关键词,类名由用户给定,不过应符合标识符得命名规则,另外类名应具有一定的意义,可以由几个词混合组成,每个词的第一个字母应大写。

类修饰符有 public、 private、 protected、 abstract、 final。对于一般的类通常只有两种访问权限:public 和 default。用public修饰的类,可以被不同包下的类引用,有好的类只能在同一包下被引用。

3.12 成员变量

成员变量的类型可以是Java中的任意数据类型,包括简单类型、数组、类和接口。在一个类中,某个成员变量应该是唯一的。

成员变量的声明方式如下:

[public | protected | private ] [static] [final] type variableName;

1.public 类中限定为public的成员,可以被所有的类访问

2.protected 类中限定为protected的成员,可以被这个类本身、它的子类以及同一个包中的所有其他类访问

3.private 类中限定为private的成员,只能被这个类本身访问

4.default 类中不加任何访问权限限定的成员属于默认的访问状态,可以被这个类本身和同一个包中的类所访问

5.static 静态变量,限定该成员变量为类变量(没有用 static 修饰的成员变量称为实例变量),可直接通过类名来访问

6.final 用来声明一个常量,对于用 final 限定的常量,在程序中不能修改它的值

3.13 成员方法

1.方法定义 方法声明包括方法名、返回类型和参数。其中参数的类型可以试简单数据类型,也可以是引用数据类型(又称符合数据类型)

Java实现的是值传递,方法接受参数的值,但不能改变这些参数的值。

3.1.4 构造方法

1.public 任何类都可以创建它的实理

2.private 其他类不能实例化这个类

3.protected 只有子类和在相同包中的类可以创建它的实例

4.缺省 只有在相同包中的类可以创建它的实例

3.1.5 main方法

main方法表示一个Java应用程序执行的起点。一个Java应用程序可以由一个或多个类组成,但其中必须有一个类定义一个main()方法

3.2 对象

对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象是由一组属性和对这组属性进行操作的一组服务构成的封装体。

同一类的对象具有相同的属性和操作。

对象必须先创建后方可使用

一个对象的生命期包括3个阶段:创建、使用和释放

3.2.1 对象的创建

1.声明。分配一个引用空间,类似于指针,是一个32位的地址空间

2.实例化。通过new运算符来完成

3.2.2 对象的使用

1.访问对象的成员

通过运算符"."可以实现对成员变量的访问和方法的调用

2.对象做类的成员

类的成员变量可以是简单类型的数据,也可以是对象。把一个对象说明为类成员时,注意在使用前必须为这个对象分配内存。

【Java】《Java程序设计基础教程》第三章学习的更多相关文章

  1. 【Java】《Java程序设计基础教程》第一章学习

    一.Java概述 1.介绍了Java语言的由来 2.Java语言的特点:简单.面向对象.分布式.高效解释执行.健壮.安全.结构中立.可移植.高效率.多线程.动态 3.Java语言的实现机制,引入虚拟机 ...

  2. 【Java】《Java程序设计基础教程》第二章学习

    一.标识符 Java 中标识符的使用有如下规定:(1)标识符由字母.数字.美元符号”$”和下划线”_”组成,除此之外的任何其他符号是不能作为标识符使用的.(2)标识符中的第一个字符不能为数字.  (3 ...

  3. PHP-----PHP程序设计基础教程----第三章函数

    3.1 初识函数 3.1.1 函数的定义 语法: function 函数名([参数1,参数2,......]) { 函数体 } (1)function:在声明函数时必须使用的关键字 (2)函数名:创建 ...

  4. PHP-----PHP程序设计基础教程----第四章数组

    4.1 初识数组 4.1.1 什么是数组 数组是一个可以存储一组或者一系列数值的变量.在PHP中,数组中的元素分两部分,分别为键(Key)和值(Value).其中,“键”为元素的识别名称,也被称为数组 ...

  5. [ABP教程]第三章 创建、更新和删除图书

    Web应用程序开发教程 - 第三章: 创建,更新和删除图书 关于本教程 在本系列教程中, 你将构建一个名为 Acme.BookStore 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以 ...

  6. java中的数据类型,运算符,字符串,输入输出,控制流,大数值,数组; 《java核心技术卷i》 第三章:java基本程序结构;

    <java核心技术卷i> 第三章:java基本程序结构: 每次看书,去总结的时候,总会发现一些新的东西,这次对于java的数组有了更深的了解: java中的数据类型,运算符,字符串,输入输 ...

  7. 20165233 Java第二、三章学习总结

    2017-2018-2 <Java程序设计>第二周学习总结 教材学习内容总结 第二.三章 ch2 标识符与关键字 基本数据类型: 逻辑类型:boolean 整数类型:int.byte.sh ...

  8. [Learn Android Studio 汉化教程]第三章:使用 Android Studio 编程

    [Learn Android Studio 汉化教程]第三章:使用 Android Studio 编程 本章包含如何在 Android Studio 中书写或生成代码. Android Studio ...

  9. Objective-C 基础教程第三章,面向对象编程基础知

    目录 Objective-C 基础教程第三章,面向对象编程基础知 0x00 前言 0x01 间接(indirection) 0x02 面向对象编程中使用间接 面向过程编程 面向对象编程 0x03 OC ...

  10. 20172328 2018-2019《Java软件结构与数据结构》第三周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第三周学习总结 概述 Generalization 本周学习了第五章:队列.主要内容包含队列的处理过程.如何用对例如求解问 ...

随机推荐

  1. saltstack配置文件详解

    软件依赖 Python版本大于2.6或版本小于3.0: 对Python版本要求 msgpack-python: SalStack消息交换库 YAML: SaltStack配置解析定义语法 Jinja2 ...

  2. swoole实现多人游戏的要点

    swoole实现多人游戏的要点 比方说多人在线 要满足以下两点 1 所有玩家的数据要实时更新到服务器数据库数据 2 写个定时器返回数据

  3. SecureCRT日志优化

    SecureCRT日志优化 用了这么多ssh软件,但对secureCRT情有独钟.今天来对做一下对SecureCRT的优化 一.手动模式: 选择"File"->"L ...

  4. UE项目打包

    https://docs.unrealengine.com/zh-CN/Engine/Basics/Projects/Packaging/index.html 必须先对虚幻项目进行正确打包,之后才能将 ...

  5. [转帖]WannaCry惊天大发现!疑似朝鲜黑客组织Lazarus所为

    WannaCry惊天大发现!疑似朝鲜黑客组织Lazarus所为 Threatbook2017-05-16共588524人围观 ,发现 17 个不明物体系统安全 https://www.freebuf. ...

  6. c++无关类型指针的强制转换原理的分析和尝试

    因最近看到大量的c类型指针强制转换,联系到c++的reinterpret_cast强制转换符,故总结一下. 先上图 由图中可以看出,先声明了一个结构体t与一个含有三个元素的数组num,接着声明一个指向 ...

  7. 链表习题(8)-寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下

    /*寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下*/ /* 算法思想:定义两个指针,pre指向前驱结点,p指向当前结点,当p->data == k的时候,交换 p ...

  8. MySQL直方图

    MySQL8.0开始支持索引之外的数据分布统计信息可选项 我们知道,在DB中,优化器负责将SQL转换为很多个不同的执行计划,完了从中选择一个最优的来实际执行.但是有时候优化器选择的最终计划有可能随着D ...

  9. 《Docker Deep Dive》Note - Docker 引擎

    <Docker Deep Dive>Note Docker 引擎 1. 概览 graph TB A(Docker client) --- B(daemon) subgraph Docker ...

  10. 在右键菜单中添加用Jupyter Notebook打开

    在右键菜单中添加用Jupyter Notebook打开 为了把 Jupyter 的工作目录指定到某一个文件夹下,每次都要启动 CMD 终端, 然后激活 Anaconda 环境,再启动 Jupyter ...