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. 使用clion+cmake+vcpkg的开发现代的c++跨平台程序

    使用clion+cmake+vcpkg的开发现代的c++跨平台程序 使用c++开发跨平台的程序 背景 在开发过程中,使用c++作为开发语言,通常被认为是痛苦的,啰嗦的,超长开发时间的.最近几年有各种各 ...

  2. flask,scrapy,django信号

    简介 Django.Flask.scrapy都包含了一个“信号分配器”,使得当一些动作在框架的其他地方发生的时候,解耦的应用可以得到提醒. 通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒 ...

  3. layui的select监听

    首先,select一定要放在<form class="layui-form" ></form>里面 然后,加监听<select id="id ...

  4. ubuntu12下安装unixODBC(mysql)

    转自:https://blog.51cto.com/dreamylights/1321678 1. 需要的包 unixODBC源码包unixODBC-2.2.14.tar.gz mysql 驱动 my ...

  5. 基于OpenCV制作道路车辆计数应用程序

    基于OpenCV制作道路车辆计数应用程序 发展前景 随着科学技术的进步和工业的发展,城市中交通量激增,原始的交通方式已不能满足要求:同时,由于工业发展为城市交通提供的各种交通工具越来越多,从而加速了城 ...

  6. Go 参数传递

    Go参数传递 在面试中,经常会被问起,这门语言的参数传递是值传递还是引用传递,当然,大部分情况下我们都会提前准备,有恃无恐,但还是希望能够精益求精嘛,所以针对Go语言来分析,Go传参是值传递还是引用传 ...

  7. kafka和zookeeper安装部署(版本弄不好就是坑)

    yum install -y unzip zip 配置host vi /etc/host172.19.68.10 zk1 1. zookeeper zookeeper下载地址 http://mirro ...

  8. LOJ2267 SDOI2017 龙与地下城 FFT、概率密度函数、Simpson

    传送门 概率论神仙题-- 首先一个暴力做法是设\(f_{i,j}\)表示前\(i\)个骰子摇出点数和为\(j\)的概率,不难发现DP的过程是一个多项式快速幂,FFT优化可以做到\(O(XYlog(XY ...

  9. python3 中的try 异常调试与 raise 异常抛出

    一.什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行. 一般情况下,在Python无法正常处理程序时就会发生一个异常. 异常是Python对象,表示一个错误. 当Py ...

  10. STM32F10x芯片类型 STM32F10X_LD STM32F10X_MD STM32F10X_HD STM32F10X_XL STM32F10X_CL

    stm32f10x.h 固件库stm32f10x.h中有如下解释 #if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) & ...