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. Python MySQLdb 学习总结(转)

    转自http://www.cnblogs.com/coser/archive/2012/01/12/2320741.html 感谢@糖拌咸鱼 任何应用都离不开数据,所以在学习python的时候,当然也 ...

  2. laydate 只设置年月日,时分,不设置秒

    laydate.render({ elem: '#deadline_time' ,type: 'datetime' ,format: 'yyyy-MM-dd HH:mm' }); 设置了format, ...

  3. CPU使用率过高问题定位

    (1)top 命令 ->查询出CPU使用率最高的 PID编号. (2)top -H p PID编号 ->能查询出所有线程的CPU使用率的列表(线程编号也在PID列). (3)jstack ...

  4. xorm -Exist方法实例

    判断某个记录是否存在可以使用Exist, 相比Get,Exist性能更好. package main import ( "fmt" _ "github.com/go-sq ...

  5. MySQL多表查询答案

    一.综合练习 1.1 init.sql文件内容 /* 数据导入: Navicat Premium Data Transfer Source Server : localhost Source Serv ...

  6. Scala 函数入门之默认参数和带名参数

    Scala 默认参数 在Scala中,有时我们调用某些函数时,不希望给出参数的具体值,而希望使用参数自身默认的值,此时就定义在定义函数时使用默认参数. def sayHello(firstName: ...

  7. 面试6 --- 当List<String> list =new ArrayList<String>(20); 他会扩容多少次

    当List<String> list =new ArrayList<String>(20); 他会扩容多少次?A 0       B 1 C 2 D 3答案是A: 因为这个集合 ...

  8. jquery 如何获取select 选中项的下一个选项的值

    <select> <option value="1" selected="selected">a</option> < ...

  9. [洛谷P5329][SNOI2019]字符串

    题目大意:给一个长度为$n$的字符串$s$,字符串$p_i$为字符串$s$去掉第$i$个字符后形成的字符串.请给所有字符串$p_i$排序(相同字符串按编号排序) 题解:先去掉所有连续相同字符,因为它们 ...

  10. isolate 通信

    main.dart import 'package:flutter/material.dart'; import 'package:flutter_isolate/flutter_isolate.da ...