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. centos7 nginx 配置 ssl证书

    安装nginx 从阿里云服务器下载 nginx版本的ssl证书,防止再 /etc/nginx/ssl 下 停止 nginx 服务 systemctl stop nginx 修改配置文件 /etc/ng ...

  2. Verilog转电路图

    “你写的不是程序,是电路!”这句话听了很多,大多数人还是搞不太懂.程序怎么能是电路呢?这里将一些典型的Verilog转电路图贴出来,也许可以稍稍理解电路思想了. 1. 2. 3. 4. 5. 6. 7 ...

  3. quartz2.3.0(十三)数据库持久化定时器job任务和trigger触发器,在多个调度器实例情况下,由其它调度器实例恢复执行调度器宕机的job任务

    一.初始化数据库11张quartz表:qrtz_*   先从官网下载好quartz2.3.0包:http://www.quartz-scheduler.org/downloads/ 解压后进入目录:q ...

  4. Redis Streams与Spark的完美结合

    来源:Redislabs 作者:Roshan Kumar 翻译:Kevin  (公众号:中间件小哥) 最近,我有幸在 Spark +AI 峰会上发表了题目为“Redis + Structured St ...

  5. Helm命令日常使用

    更换仓库 默认的stable仓库地址是:https://kubernetes-charts.storage.googleapis.com 若遇到Unable to get an update from ...

  6. Non-Maximum Suppression(非极大值抑制)

    定义与介绍(NMS 以及soft-NMS也有简单的介绍): https://www.cnblogs.com/makefile/p/nms.html IoU的介绍这篇写的不错: https://oldp ...

  7. 基于工作组消息队列高可用&msmq-wcf故障

    场景: msmq 1# server故障手工切换到2# server,msmq-wcf service宿主服务重启后,无法成功读取消息,状似service不工作.无法监听到数据传输. 解决过程: 反复 ...

  8. 使用jQuery开发tab选项卡插件

    为了复习巩固jQuery的插件开发.HTML和CSS方面的知识,做了一个简单的tab选项卡插件,简单记录一下开发.使用的过程,以备日后使用. 一.插件效果 tab选项卡插件常用的功能均已实现,包括:动 ...

  9. 1+X学习日志——导航栏demo

    初级菜鸟的作品,各位大佬见笑了   <!DOCTYPE html> <html lang="en"> <head>     <meta c ...

  10. Postgres 多实例实例部署方式

    Postgres 数据库在原有示例正常运行情况下,新增一个端口示例,主要目的解决新的项目和原有项目的数据库部署不在冲突,可以独立运行,备份和还原数据互不影响,主要用的的命令有  initdb 数据库初 ...